如何在折线图中的指定点添加额外的标签?
How to add extra labels at specified points in LineChart?
我想向 LineChart
(MPAndroidChart) 添加一些额外的标签,如下图所示。注意 "Advanced"、"Novice" 等标签。
我如何将它们添加到指定的 y 轴位置,以便它们始终像 y 轴标签一样显示,但可能如图所示显示在图表的内部 - 或者在必要时显示在右侧?
更新:
我需要的只是一些 LimitLines
这样的东西:
LimitLine noviceline = new LimitLine( SSGlobals.getWeightinPreferredUnits_fromPounds(standardweightsarr[2]) , getString(R.string.novice));
noviceline.setLineColor(ContextCompat.getColor(getActivity(), R.color.accentline));
noviceline.setTextColor(ContextCompat.getColor(getActivity(), R.color.accentline));
noviceline.setTextSize(12);
noviceline.setLineWidth(4);
我可能会设计得更多一些,但到目前为止,结果如下所示:
这里有几个选项。
您可以查看 LimitLines 是否符合您的目的 - 它们可以配置为这样的标签:
LimitLine llXAxis = new LimitLine(10f, "Index 10");
llXAxis.setLineWidth(4f);
llXAxis.enableDashedLine(10f, 10f, 0f);
llXAxis.setLabelPosition(LimitLabelPosition.RIGHT_BOTTOM);
llXAxis.setTextSize(10f);
xAxis.addLimitLine(llXAxis);
您还可以在带有 TextView 的图表上使用 FrameLayout 来获取您想要添加的额外信息。参见这个
问题 类似的问题, 如何在图表值和屏幕像素坐标之间转换。
或者,您可以扩展渲染器本身来绘制您的自定义文本。如果您想尝试,请参阅 。
我想向 LineChart
(MPAndroidChart) 添加一些额外的标签,如下图所示。注意 "Advanced"、"Novice" 等标签。
我如何将它们添加到指定的 y 轴位置,以便它们始终像 y 轴标签一样显示,但可能如图所示显示在图表的内部 - 或者在必要时显示在右侧?
更新:
我需要的只是一些 LimitLines
这样的东西:
LimitLine noviceline = new LimitLine( SSGlobals.getWeightinPreferredUnits_fromPounds(standardweightsarr[2]) , getString(R.string.novice));
noviceline.setLineColor(ContextCompat.getColor(getActivity(), R.color.accentline));
noviceline.setTextColor(ContextCompat.getColor(getActivity(), R.color.accentline));
noviceline.setTextSize(12);
noviceline.setLineWidth(4);
我可能会设计得更多一些,但到目前为止,结果如下所示:
这里有几个选项。
您可以查看 LimitLines 是否符合您的目的 - 它们可以配置为这样的标签:
LimitLine llXAxis = new LimitLine(10f, "Index 10");
llXAxis.setLineWidth(4f);
llXAxis.enableDashedLine(10f, 10f, 0f);
llXAxis.setLabelPosition(LimitLabelPosition.RIGHT_BOTTOM);
llXAxis.setTextSize(10f);
xAxis.addLimitLine(llXAxis);
您还可以在带有 TextView 的图表上使用 FrameLayout 来获取您想要添加的额外信息。参见这个
问题 类似的问题,
或者,您可以扩展渲染器本身来绘制您的自定义文本。如果您想尝试,请参阅