10. 图例

优质
小牛编辑
136浏览
2023-12-01

图例

默认,所有的图表类型支持图例并且将自动生成绘制出图例在为图表设置数据之后。图例通常包含多种条目每个标签代表一个形状。
自动生成的图例包含的项数取决于不同的颜色 (在所有数据集对象中) 以及数据集标签数目。图例标签依赖于在图表中使用的数据集对象设置的标签。在数据集对象中如果没有标签被制定,图表将自动生成它们。如果多种颜色被用在一个数据集中,这些颜色分组并且只被一个标签描述。
对于自定义的图例,你能从图表中检索图例对象使用getLegend()方法:

  1. Legend legend = chart.getLegend();

控制图例是否被绘制

  • setEnabled(boolean enabled): 设置图例打开或者关闭,如果关闭,图例将不会被绘制。

修改图例样式

  • setTextColor(int color): 设置图例标签的颜色
  • setTextSize(float size): 设置图例标签字体大小以dp为单位
  • setTypeface(Typeface tf): 设置自定义的Typeface对于图例标签

自定义图例

  • setPosition(LegendPosition pos): 设置LegendPosition将定义图例在哪里出现。可以选择RIGHT_OF_CHART, RIGHT_OF_CHART_CENTER, RIGHT_OF_CHART_INSIDE, BELOW_CHART_LEFT, BELOW_CHART_RIGHT, BELOW_CHART_CENTER 或者 PIECHART_CENTER(PieChart独有),…等等。
  • setForm(LegendForm shape):设置LegendForm应该被使用。这是旁边带有颜色的图例项表示的数据集的图例标签绘制的形状。可以选择SQUARE, CIRCLE或者LINE.
  • setFormSize(float size): 设置图例形式大小以dp为单位
  • setXEntrySpace(float space): 在水平轴上的图例项之间的间距设置。
  • setYEntrySpace(float space):垂直轴上的图例项之间的间距设置。
  • setFormToTextSpacefloat space): 设置图例标签和相应的图例窗体之间的空间。

例子:

  1. Legend l = chart.getLegend();
  2. l.setFormSize(10f); // set the size of the legend forms/shapes
  3. l.setForm(LegendForm.CIRCLE); // set what type of form/shape should be used
  4. l.setPosition(LegendPosition.BELOW_CHART_LEFT);
  5. l.setTypeface(...);
  6. l.setTextSize(12f);
  7. l.setTextColor(Color.BLACK);
  8. l.setXEntrySpace(5f); // set the space between the legend entries on the x-axis
  9. l.setYEntrySpace(5f); // set the space between the legend entries on the y-axis
  10. // and many more...