Unity插件XCharts使用簡記之基礎屬性設置
XCharts簡介
最近項目中需要用到一些數據圖表,如曲線圖、柱狀圖等。便到了這個插件,由於該插件的教程較少,所以對其使用都是自己研究的,而且其中每一個圖表腳本的屬性都有好幾十個,所以這裏對插件的使用做一個簡記。
注意:我只記錄一些我用到的功能和使用,並不算詳解,之後有機會再補全。
插件簡介
引自插件作者介紹主頁:
一款基於UGUI的功能強大、易用、參數可配置的數據可視化圖表插件。支持折線圖、柱狀圖、餅圖、雷達圖、散點圖、熱力圖等常見圖表。
特性:
- 內置豐富示例和模板,參數可視化配置,效果實時預覽,純代碼繪製。
- 支持折線圖、柱狀圖、餅圖、雷達圖、散點圖、熱力圖等常見圖表。
- 支持直線圖、曲線圖、面積圖、階梯線圖等折線圖。
- 支持並列柱圖、堆疊柱圖、堆積百分比柱圖、斑馬柱圖等柱狀圖。
- 支持環形圖、玫瑰圖等餅圖。
- 支持折線圖—柱狀圖、散點圖-折線圖等組合圖。
- 支持實線、曲線、階梯線、虛線、點線、點劃線、雙點劃線等線條。
- 支持自定義主題,內置主題切換。
- 支持自定義圖表內容繪製,提供繪製點、直線、曲線、三角形、四邊形、圓形、環形、扇形、邊框、箭頭等繪圖API。
- 支持PC端和手機端上的數據篩選、視圖縮放、細節展示等交互操作。
- 支持萬級大數據繪製。
插件作者主頁:
插件下載
插件下載鏈接:
- https://github.com/monitor1394/unity-ugui-XCharts:插件源項目
- https://download.csdn.net/download/f_957995490/12189881:我自己導出的unitypackage
插件中自帶配置項手冊和API,以及一些問題問答。
XCharts使用
打開項目或導入插件後,可找到兩個demo場景,其中demo_xchart場景爲總的效果呈現。
基礎使用
注意:有些修改要運行一次或拖拽一下圖表的大小等,使其將圖表渲染一次的方法,才能看到效果。
當我們想要使用創建某種圖表時,可如下圖所示,在Hierarchy窗口中直接右鍵,在彈出的提示框中選擇XCharts,便直接可以從延伸出來的提示框中點擊選擇需要的圖表。
LineChart--------->線狀圖
BarChart--------->柱狀圖
PieChart--------->餅狀圖
RadarChart--------->雷達圖
ScatterChart--------->散點圖
HeatmapChart--------->熱力圖
GaugeChart--------->儀表盤
長寬
我們可以在創建出來的每一個圖表上看到一個對應的總控制腳本,如上圖Inspector窗口中的PieChart
腳本組建一樣。
其中,腳本上的ChartWidth
和ChartHeight
兩個屬性是用於設置整個圖表的大小長寬的,可以直接設置數值,也可以在Scene窗口中通過拖拽調整。
主題(Theme
)
往下的Theme
屬性的下拉列表中都是圖表中對應的一些顏色屬性,包括所用到的字體(Font
)、背景顏色(BackgroundColor
)、標題的顏色(TitleColor
和TitleSubTextColor
,設置UGUI的兩種不同的文字框)、軸文字的顏色(AxisTextColor
)和軸線的顏色(AxisLineColor
和AxisSplitLineColor
),最後屬性ColorPalette
是圖表中每組數據一次用到的顏色。
如上圖,綠色標出的1號數據用到的,便是屬性ColorPalette
下的第一個Element1
的顏色;2號的是Element2
;3號的是Element3
,以此類推。
代碼上,可以通過BaseChart.themeInfo
直接獲取類型爲ThemeInfo
的主題信息,其中自帶3種不同的主題。
/// <summary>
/// 主題
/// </summary>
public enum Theme
{
/// <summary>
/// 默認主題。
/// </summary>
Default,
/// <summary>
/// 亮主題。
/// </summary>
Light,
/// <summary>
/// 暗主題。
/// </summary>
Dark
}
可以通過BaseChart.UpdateTheme(Theme theme)
更新主題的類型;也可以通過BaseChart.UpdateThemeInfo(ThemeInfo themeInfo)
直接更換主題信息。
ThemeInfo
包含的與組建中Theme
屬性的下拉列表中顯示的,大致相同。
標題(Title
)
下一項屬性爲標題Title
。該項選中打上對勾,便會顯示標題;反之,亦然。
其中,文字內容在Text
或SubText
中設置;相對應的文字形態設置爲TextStyle
或SubTextStyle
,分別包括Rotate
角度、Offset
座標、Color
顏色(這裏的顏色我並未試出有什麼用,在這裏設置並沒有任何效果)、以及字體大小和字體類型等。
提示信息(Tooltip
)
Tooltip
屬性爲提示信息,如下圖所示。
該項選中打上對勾,便會在鼠標移動到相應位置時顯示對應的提示信息;反之,亦然。
其中,LineStyle
爲提示線的風格設置;TextStyle
爲提示文字的風格設置。
數據系列(Series
)
這裏面是用來處理數據用的,而且大部分的圖標裏面的屬性大致相同,只有一些特殊圖表會有一些不一樣的屬性在裏面。
- 其中,
Size
表示有幾組數據。在餅狀圖中只需要用到一個;而在線狀圖中則是有幾條線就要有幾個。 - 然後,每組數據需要注意
Name
這個屬性,及這組數據的名字,這個要在代碼中用到。 Label
屬性,是圖表中的文字標籤,就如上圖中,多出來的3個標籤。而標籤的內容則是在Data
屬性中,每個Element
中的第一欄數據後面的,第二欄裏的內容決定的,剛創建時,可能裏面並沒有第二欄,這時只要點擊上面的Name
按鈕就會出現,或者通過UpdateDataName
函數,用代碼添加數據的名字。- 同時,圖表中的數據設置可以在
Data
屬性中直接設置;也可以通過代碼AddData
函數,添加數據;或通過代碼UpdateData
函數,更新數據,其中有很多重載函數,所使用的參數有serieName
就是上面提到的名字(Series名字)、serieIndex
是Series的下標索引、dataIndex
是詳細數據的下標索引、value
便是具體的數值等。 Animation
屬性,是讓圖表有一個顯示的過程,選中則有,反之亦然。
特有屬性
關於一些特有屬性的設置:Unity插件XCharts使用簡記之特有屬性設置