翻譯|使用教程|編輯:楊鵬連|2021-02-07 10:33:03.927|閱讀 218 次
概述:本文主要介紹了高性能圖表控件LightningChart對數軸-更多刻度線問題解答。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
LightningChart.NET完全由GPU加速,并且性能經過優化,可用于實時顯示海量數據-超過10億個數據點。 LightningChart包括廣泛的2D,高級3D,Polar,Smith,3D餅/甜甜圈,地理地圖和GIS圖表以及適用于科學,工程,醫學,航空,貿易,能源和其他領域的體繪制功能。
LightningChart.NET現已加入在線訂購,SignalTools , 12 months, WPF版本原價4105元,現價只需3499元,現在搶購立享優惠!立即購買>>
問題:對數軸-更多刻度線?
我正在努力實現在我的應用中查看對數X軸的功能。除一種情況外,它通常都能按預期工作:
當您沒有大量數據時,軸不會顯示太多信息。例如,給定x值為177-8000(帶有18個點),對數軸如下所示:
除了一個標簽,我有什么方法可以強制執行?我知道它只想標記1,10,100,1000,但有時在只有1個標簽的情況下,我想添加更多標簽。
回復:對數軸-更多的刻度線?
當ScaleType設置為Logarithmic時,將根據軸的LogBase設置自動計算軸標簽。LogBase = 10會導致1、10、100、1000等。當前無法禁用此行為。
如果要顯示更多的報價,可以使用CustomTicks。這些允許您在任意位置手動設置任意數量的刻度。啟用CustomTicks會隱藏原始刻度。
// 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不會自動顯示它們。您必須將軸的CustomTicksEnabled設置為true。禁用AutoFormatLabels也是一個好主意。就您而言,您可以在RangeChanged事件內部檢查可見的原始標簽數。如果只有一個或沒有,則啟用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僅返回原始刻度數,而忽略CustomTicks。
請注意,我們在上面使用了AfterRendering事件,因為RangeChanged實際上是在創建軸時觸發的。由于此時可能尚未渲染軸或統計圖本身,因此可能會發生崩潰。
希望這會有所幫助。
如果對此有任何疑問,請以獲取更多信息。
想要購買LightningChart正版授權,或了解更多產品信息請點擊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: