[英]Shinobi Charts in Xamarin multiple, multiple series with 2 y-axis
我有一個問題,即將具有2個列系列和1個y軸的圖表轉換為具有相同列系列和2個y軸的圖表。
在頂部您會看到帶有1個y軸的圖表,看起來不錯:
在底部,您會看到添加了另一個y軸后會發生什么,這些列是重疊的,而不是在x軸刻度線上並排放置。 是否有可能重寫決定列是否應該彼此相鄰而不是重疊的方法? 如果是這樣,我必須重寫什么?
您的幫助將不勝感激。
進一步的情況:
這樣做的目的是要看到可能具有不同規模的多個趨勢,即彼此相鄰的推銷員的業績或不同規模市場中的銷售營業額,以查看這兩個趨勢的相對增長,即使它們的規模可能相差很大。 例如,一個推銷員(1)在2017年售出另一個推銷員(2)的1/10,那么對於下一年,我們可以看到推銷員1將其銷售額增加了15%,而推銷員2僅將其銷售額增加了2%,這樣一來,即使一個客戶可能積累了足夠多的客戶來銷售10倍的商品,我們仍然可以看到哪個銷售人員的增長最快,並且我們可以獎勵一位將其客戶的價值提高了15%的銷售人員。
該實現使用從PC軟件發送的數據,該數據顯示在(當前僅)IOS應用程序和其他Web解決方案中。 數據可以變化,通常包括帶有數字的y軸和帶有銷售地區或一年中的月份等類別的x軸。 每個數據組都是一個添加到圖表中的序列,我們為用戶提供了選擇每個序列第一個或第二個y軸的選擇。 這個列的問題是一個願望,但是當比較同一個統計量時,數據可以用一個列和一個線系列來顯示,設計者就像列一樣多了一些。
另一種解決方案是將單個列系列設置為,以便在它們重疊時仍能看到它們,但是我找不到這樣的變量,據我所知,所有列寬均由間距,列數控制,刻度線的數量和圖表的大小
在第一個圖像中,由於兩個系列都使用相同的軸,因此圖表會自動將兩個列系列分組在一起,因此它們並排顯示。 在這種情況下,可以在系列中使用groupIndex
屬性來覆蓋分組,以使它們重疊。
但是,如果系列位於相同的軸上,則只能將它們分組在一起,因此,在第二張圖像中,由於該系列使用不同的y軸,因此無法將它們分組(並且groupIndex
屬性不會影響此行為)。
要解決此問題,我建議為X軸使用SChartDateTimeAxis
,並調整系列的x值和系列style
上的barColumnSpacing
屬性,以將列放置在所需的位置。
艾莉森
編輯:回答關於不知道類別的評論:
由於不可能對具有不同軸的系列進行分組,因此獲得所需圖表的唯一方法是操縱數據。
在這種情況下,我建議使用SChartNumberAxis
並將x值設置為數字,這些數字將按需要SChartNumberAxis
列,例如:
let salesData: [[Double : Double]] = [
[0.5 : 5.65, 3.5 : 12.6, 6.5 : 8.4],
[1.5 : 4.35, 4.5 : 13.2, 7.5 : 4.6, 10.5 : 0.6]
]
然后你可以使用sChart:alterTickMark:beforeAddingToAxis:
方法SChartDelegate
改變刻度標簽文本,例如,如果刻度線的值是1,你可以設置標簽的文本為“2017年”(不要忘了調整標簽,以適應); 如果是4,則可以將其設置為“ 2018”; 如果您不想顯示該數字,可以將其設置為空。
然后,您可能希望使用系列style
上的barColumnSpacing
屬性來固定列的寬度。
我意識到這是一個令人費解的解決方案,所以我想知道您是否可以告訴我們更多有關您的用例的信息? 這不是我們以前遇到的東西。 通常會使用多個y軸來顯示大小(例如溫度和降雨量)不具有可比性的數據,因此以這種方式使用兩個列序列似乎很不尋常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.