默认情况下,所有图表类型都支持图例,并在为图表设置数据后自动生成和绘制图例。Legend通常由通过一个标签的形式/形状表示多个条目的每一个。
自动生成的图例包含的条目数取决于不同颜色(跨所有DataSet对象)以及DataSet标签的数量。标签Legend取决于为DataSet图表中的已使用对象设置的标签。如果没有DataSet指定对象的标签,图表将自动生成。如果使用多种颜色DataSet,那么这些颜色是分组的,只能由(属于)一个标签描述。
对于自定义Legend,您可以Legend使用以下getLegend()方法从图表中检索对象:
Legend legend = chart.getLegend();
控制是否绘制图例
- setEnabled(boolean enabled):设置Legend启用或禁用。如果禁用,Legend将不会被绘制。
造型/修改图例
- setTextColor(int color):设置图例标签的颜色。
- setTextSize(float size):设置dp中图例标签的文本大小。
setTypeface(Typeface tf):设置Typeface图例标签的自定义。
包装/剪裁避免
setWordWrapEnabled(boolean enabled):如果启用,图例的内容将不会剪辑在图表边界之外,而是创建一个新行。请注意,这降低了性能,仅适用于图表下方的图例。
setMaxSizePercent(float maxSize):以百分比形式设置整个图表视图中的最大相对大小。默认值:0.95f(95%)
自定义图例
setPosition(LegendPosition pos):设置LegendPosition它Legend应该出现的位置。选择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应该使用的。这是绘制在图例标签旁边的形状,DataSet其图例条目的颜色表示。在SQUARE,CIRCLE或LINE之间进行选择。
- setFormSize(float size):设置dp中的图例形式的大小。
- setXEntrySpace(float space):设置横轴上图例项之间的空格。
- setYEntrySpace(float space):设置纵轴上的图例项之间的空格。
- setFormToTextSpace(float space):设置图例标签和相应图例形式之间的空格。
- setWordWrapEnabled(boolean enabled)传说中的文字是否包裹?/目前仅支持BelowChartLeft,BelowChartRight,BelowChartCenter支持。/你可能希望在换行时设置maxSizePercent,以设置文本包装的点。
设置自定义标签和颜色
- setCustom(int[] colors, String[] labels):设置自定义图例的标签和颜色数组。颜色计数应符合标签计数。每种颜色均为相同索引绘制的形状。空标签将启动一个组。A(-2)颜色将避免绘制表单这将禁用从数据集自动计算图例标签和颜色的功能。呼叫resetCustom()重新启用自动计算(然后notifyDataSetChanged()需要再次自动计算图例)
- resetCustom():调用此功能将禁用自定义图例标签(由设置setCustom(…))。相反,标签将再次自动计算(notifyDataSetChanged()调用后)。
setExtra(int[] colors, String[] labels):设置在计算图例后将附加到自动计算颜色和标签数组末尾的颜色和标签。(如果已经计算了图例,则需要调用notifyDataSetChanged()以使更改生效)
例
Legend l = chart.getLegend();
l.setFormSize(10f); // 设置图例的形状/形状
l.setForm(LegendForm.CIRCLE); // 设置什么类型的形式/形状应该使用
l.setPosition(LegendPosition.BELOW_CHART_LEFT);
l.setTypeface(…);
l.setTextSize(12f);
l.setTextColor(Color.BLACK);
l.setXEntrySpace(5f); // 设置x轴上的图例项之间的空格
l.setYEntrySpace(5f); // 设置y轴上图例项之间的空格// 设置自定义标签和颜色
l.setCustom(ColorTemplate.VORDIPLOM_COLORS, new String[] { “Set1”, “Set2”, “Set3”, “Set4”, “Set5” });// and many more…