翻譯|使用教程|編輯:楊鵬連|2021-02-07 10:33:03.927|閱讀 218 次
概述:本文主要介紹了高性能圖表控件LightningChart對(duì)數(shù)軸-更多刻度線問(wèn)題解答。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
LightningChart.NET完全由GPU加速,并且性能經(jīng)過(guò)優(yōu)化,可用于實(shí)時(shí)顯示海量數(shù)據(jù)-超過(guò)10億個(gè)數(shù)據(jù)點(diǎn)。 LightningChart包括廣泛的2D,高級(jí)3D,Polar,Smith,3D餅/甜甜圈,地理地圖和GIS圖表以及適用于科學(xué),工程,醫(yī)學(xué),航空,貿(mào)易,能源和其他領(lǐng)域的體繪制功能。
點(diǎn)擊下載LightningChart.NET最新試用版
問(wèn)題:對(duì)數(shù)軸-更多刻度線?
我正在努力實(shí)現(xiàn)在我的應(yīng)用中查看對(duì)數(shù)X軸的功能。除一種情況外,它通常都能按預(yù)期工作:
當(dāng)您沒(méi)有大量數(shù)據(jù)時(shí),軸不會(huì)顯示太多信息。例如,給定x值為177-8000(帶有18個(gè)點(diǎn)),對(duì)數(shù)軸如下所示:
除了一個(gè)標(biāo)簽,我有什么方法可以強(qiáng)制執(zhí)行?我知道它只想標(biāo)記1,10,100,1000,但有時(shí)在只有1個(gè)標(biāo)簽的情況下,我想添加更多標(biāo)簽。
回復(fù):對(duì)數(shù)軸-更多的刻度線?
當(dāng)ScaleType設(shè)置為L(zhǎng)ogarithmic時(shí),將根據(jù)軸的LogBase設(shè)置自動(dòng)計(jì)算軸標(biāo)簽。LogBase = 10會(huì)導(dǎo)致1、10、100、1000等。當(dāng)前無(wú)法禁用此行為。
如果要顯示更多的報(bào)價(jià),可以使用CustomTicks。這些允許您在任意位置手動(dòng)設(shè)置任意數(shù)量的刻度。啟用CustomTicks會(huì)隱藏原始刻度。
// Adding CustomTicks axisX.CustomTicks.Add(new CustomAxisTick(axisX, 800, "800", 10, true, Color.White, CustomTickStyle.TickAndGrid)); axisX.CustomTicks.Add(new CustomAxisTick(axisX, 900, "900", 10, true, Color.White, CustomTickStyle.TickAndGrid)); axisX.CustomTicks.Add(new CustomAxisTick(axisX, 1000, "1000", 10, true, Color.White, CustomTickStyle.TickAndGrid)); axisX.CustomTicks.Add(new CustomAxisTick(axisX, 1100, "1100", 10, true, Color.White, CustomTickStyle.TickAndGrid)); axisX.CustomTicks.Add(new CustomAxisTick(axisX, 1200, "1200", 10, true, Color.White, CustomTickStyle.TickAndGrid));添加CustomTicks不會(huì)自動(dòng)顯示它們。您必須將軸的CustomTicksEnabled設(shè)置為true。禁用AutoFormatLabels也是一個(gè)好主意。就您而言,您可以在RangeChanged事件內(nèi)部檢查可見的原始標(biāo)簽數(shù)。如果只有一個(gè)或沒(méi)有,則啟用CustomTicks。
_chart.AfterRendering += _chart_AfterRendering; private void _chart_AfterRendering(object sender, AfterRenderingEventArgs e) { _chart.AfterRendering -= _chart_AfterRendering; _chart.ViewXY.XAxes[0].RangeChanged += AxisX_RangeChanged; } private void AxisX_RangeChanged(object sender, RangeChangedEventArgs e) { double ticks = _chart.ViewXY.XAxes[0].GetMajorTicks().Length; _chart.BeginUpdate(); if (ticks < 2) { _chart.ViewXY.XAxes[0].AutoFormatLabels = false; _chart.ViewXY.XAxes[0].CustomTicksEnabled = true; } else if (_chart.ViewXY.XAxes[0].CustomTicksEnabled) { _chart.ViewXY.XAxes[0].AutoFormatLabels = true; _chart.ViewXY.XAxes[0].CustomTicksEnabled = false; } _chart.EndUpdate(); }GetMajorTicks僅返回原始刻度數(shù),而忽略CustomTicks。
請(qǐng)注意,我們?cè)谏厦媸褂昧薃fterRendering事件,因?yàn)镽angeChanged實(shí)際上是在創(chuàng)建軸時(shí)觸發(fā)的。由于此時(shí)可能尚未渲染軸或統(tǒng)計(jì)圖本身,因此可能會(huì)發(fā)生崩潰。
希望這會(huì)有所幫助。
如果對(duì)此有任何疑問(wèn),請(qǐng)以獲取更多信息。
想要購(gòu)買LightningChart正版授權(quán),或了解更多產(chǎn)品信息請(qǐng)點(diǎn)擊
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: