目錄
第8節(jié).Setting Colors(MPAndroidChart中文翻譯)
第9節(jié).Formatting Data Values (ValueFormatter)(MPAndroidChart中文翻譯)
第10節(jié)-Formatting Axis Values (AxisValueFormatter)(MPAndroidChart中文翻譯)
第11節(jié).General Settings & Styling(MPAndroidChart中文翻譯)
第12節(jié).Specific Settings & Styling(MPAndroidChart中文翻譯)
第13節(jié).Legend(MPAndroidChart中文翻譯)
第14節(jié).Dynamic & Realtime Data(MPAndroidChart中文翻譯)
第15節(jié). Modifying the Viewport(MPAndroidChart中文翻譯)
第16節(jié).Animations(MPAndroidChart中文翻譯)
第17節(jié). MarkerView (Popup View)(MPAndroidChart中文翻譯)
第18節(jié). The ChartData class(MPAndroidChart中文翻譯)
第19節(jié). ChartData subclasses(MPAndroidChart中文翻譯)
第20節(jié). The DataSet class (general DataSet styling)(MPAndroidChart中文翻譯)
第21節(jié). DataSet subclasses (specific DataSet styling)(MPAndroidChart中文翻譯)
第22節(jié). The ViewPortHandler(MPAndroidChart中文翻譯)
第23節(jié). Customizing the Fill-Line-Position (FillFormatter)(MPAndroidChart中文翻譯)
第24節(jié). Proguard(MPAndroidChart中文翻譯)
第25節(jié). Realm.io mobile database(MPAndroidChart中文翻譯)
第26節(jié). Creating your own (custom) DataSets(MPAndroidChart中文翻譯)
第27節(jié). Miscellaneous (more useful stuff)(MPAndroidChart中文翻譯)
默認(rèn)情況下,所有類型的圖表都支持圖例,并在設(shè)置數(shù)據(jù)后自動(dòng)為圖表生成并繪制圖例.圖例通常由多個(gè)條目組成,每個(gè)條目由一個(gè)標(biāo)簽和一個(gè)表格/形狀組成.
自動(dòng)生成的圖例包含的條目數(shù)量取決于不同的顏色(通過所有DataSet對(duì)象)和DataSet的標(biāo)簽數(shù).圖例中的標(biāo)簽取決于圖表中DataSet對(duì)象設(shè)置的標(biāo)簽.如果沒有為DataSet對(duì)象指定標(biāo)簽,圖表將自動(dòng)生成他們.如果一個(gè)DataSet對(duì)象使用了很多顏色,這些顏色是一個(gè)組并且僅用一個(gè)標(biāo)簽類描述.
為了自定義圖例,你可以用getLegend()方法獲取圖例對(duì)象:
Legend legend = chart.getLegend();
Control if the legend should be drawn(控制圖例是否顯示)
- setEnabled(boolean enabled):設(shè)置圖例是否顯示,如果禁用,圖例將不會(huì)繪制.
Styling / modifying the legend(圖例的樣式和模式)
- setTextColor(int color):設(shè)置圖例標(biāo)簽的顏色.
- setTextSize(float size):設(shè)置圖例標(biāo)簽的字體大小,單位dp.
- setTypeface(Typeface tf): 給圖例標(biāo)簽設(shè)置自定義字體.
Wrapping / clipping avoidance(包裹內(nèi)容/避免裁剪)
- setWordWrapEnabled(boolean enabled):如果啟用,圖例內(nèi)容將不會(huì)超出圖表的邊框,而是創(chuàng)建新的一行.注意,這會(huì)降低性能,并且僅用于圖表下方的圖例.
setMaxSizePercent(float maxSize): 用百分比形式設(shè)置相對(duì)于整個(gè)圖表的最大尺寸.默認(rèn)值為0.95f(95%)
Customizing the legend(自定義圖例)
- setPosition(LegendPosition pos):設(shè)置圖例的位置,它表示圖例出現(xiàn)的位置. 在他們之中選擇:
RIGHT_OF_CHART,
RIGHT_OF_CHART_CENTER,
RIGHT_OF_CHART_INSIDE,
BELOW_CHART_LEFT,
BELOW_CHART_RIGHT,
BELOW_CHART_CENTER or
PIECHART_CENTER (PieChart only),
... 等.
- setForm(LegendForm shape): 設(shè)置圖例表單形狀,這個(gè)形狀使用DataSet中設(shè)置的圖例顏色,被繪制在圖例標(biāo)簽旁邊.從他們之中選擇:
SQUARE,
CIRCLE or
LINE.
- setFormSize(float size): 設(shè)置圖例表單大小,單位dp.
- setXEntrySpace(float space):設(shè)置x軸方向圖例條目之間的距離.
- setYEntrySpace(float space):設(shè)置y軸方向圖例條目之間的距離.
- setFormToTextSpace(float space):設(shè)置圖例標(biāo)簽和相應(yīng)的表單之間的空隙.
- setWordWrapEnabled(boolean enabled):是否設(shè)置包裹圖例內(nèi)容?/目前僅支持BelowChartLeft, BelowChartRight, BelowChartCenter./為了設(shè)置文本換行的位置,設(shè)置當(dāng)文本換行時(shí)的最大尺寸百分比.
Setting custom labels & colors(設(shè)置自定義便簽和顏色)
- setCustom(int[] colors, String[] labels):設(shè)置自定義圖例的標(biāo)簽和顏色數(shù)組.顏色的數(shù)量應(yīng)該和便簽的數(shù)量一致.每個(gè)表單都會(huì)繪制相同索引處的顏色.空標(biāo)簽將會(huì)開啟一個(gè)組.A(-2)顏色將避免繪制表單,這將會(huì)禁用從dataSets中自動(dòng)計(jì)算圖例標(biāo)簽和顏色功能.調(diào)用resetCustom()方法重新開啟自動(dòng)計(jì)算功能(需要調(diào)用notifyDataSetChanged()方法來自動(dòng)計(jì)算圖例)
- resetCustom(): 調(diào)用他將禁止自定義圖例標(biāo)簽(有setCustom()方法設(shè)置的).
- setExtra(int[] colors, String[] labels): 設(shè)置額外的顏色和標(biāo)簽,將會(huì)在圖例自動(dòng)計(jì)算完畢后添加到顏色和標(biāo)簽集合末尾.(如果圖例已經(jīng)計(jì)算完畢,你需要調(diào)用notifyDataSetChanged()方法來使更改生效)
Example(舉個(gè)栗子)
Legend l = chart.getLegend();
l.setFormSize(10f); // set the size of the legend forms/shapes
l.setForm(LegendForm.CIRCLE); // set what type of form/shape should be used
l.setPosition(LegendPosition.BELOW_CHART_LEFT);
l.setTypeface(...);
l.setTextSize(12f);
l.setTextColor(Color.BLACK);
l.setXEntrySpace(5f); // set the space between the legend entries on the x-axis
l.setYEntrySpace(5f); // set the space between the legend entries on the y-axis
// set custom labels and colors
l.setCustom(ColorTemplate.VORDIPLOM_COLORS, new String[] { "Set1", "Set2", "Set3", "Set4", "Set5" });
// and many more...