MpAndroidChart:将箭头添加到轴的末尾
我想在轴线末端放置箭头,但是我不知道如何在mpandroidcharts库中实现这一目标。最后应该像这样。 crpac.png“ alt =”图表>
我当前的样式:
val xAxis = chart.xAxis
xAxis.setDrawLabels(false)
xAxis.setDrawAxisLine(true)
xAxis.setDrawGridLines(false)
xAxis.position = XAxis.XAxisPosition.BOTTOM
xAxis.axisLineWidth = 1.5f
val axisLeft = chart.axisLeft
axisLeft.setDrawGridLines(false)
axisLeft.setDrawZeroLine(false)
axisLeft.setDrawLabels(false)
axisLeft.axisLineWidth = 1.5f
axisLeft.setDrawTopYLabelEntry(true)
val axisRight = chart.axisRight
axisRight.setDrawGridLines(false)
axisRight.setDrawLabels(false)
axisRight.setDrawZeroLine(false)
axisRight.setDrawAxisLine(false)
I would like to place an arrow at the end of the axis, but I don't know how to achieve this in MPAndroidCharts library. It should look like this at the end.
My current styling:
val xAxis = chart.xAxis
xAxis.setDrawLabels(false)
xAxis.setDrawAxisLine(true)
xAxis.setDrawGridLines(false)
xAxis.position = XAxis.XAxisPosition.BOTTOM
xAxis.axisLineWidth = 1.5f
val axisLeft = chart.axisLeft
axisLeft.setDrawGridLines(false)
axisLeft.setDrawZeroLine(false)
axisLeft.setDrawLabels(false)
axisLeft.axisLineWidth = 1.5f
axisLeft.setDrawTopYLabelEntry(true)
val axisRight = chart.axisRight
axisRight.setDrawGridLines(false)
axisRight.setDrawLabels(false)
axisRight.setDrawZeroLine(false)
axisRight.setDrawAxisLine(false)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
要在X和Y轴的末端添加箭头,您必须制作一个自定义
XaxisRenderer
和yaxisrenderer
。您要做的就是为每个渲染器制作一个子类,并覆盖公共方法renderaxisLine(C:Canvas)
,负责绘制轴线并通过添加添加轴线的代码并修改基本代码每个轴线末端的箭头图标。一个示例如下:对于arrowxaxisRenderer:
对于arrowyaxisrenderer:
在上述样品中,我使用了以下矢量可言式,您可以根据自己的需求进行更改:
r.drawable.ic_arrow_right:
r.drawable.ic_arrow_up:
x轴的用法:
y(左或右)轴的用法:
结果:
注意:通过'com.github.philjay进行测试:mpandroidchart:v3.1.0'
To add an arrow on the end of X and Y axis you have to make a custom
XAxisRenderer
andYAxisRenderer
. All you have to do is to make a subclass for each renderer and override the public methodrenderAxisLine(c: Canvas)
which is responsible to draw the axis line and modify the code of base class by adding also the arrow icon at the end of each axis line. An example is like the below:For ArrowXAxisRenderer:
For ArrowYAxisRenderer:
In the above samples i have used the below vector drawables where you can change based on your needs:
R.drawable.ic_arrow_right:
R.drawable.ic_arrow_up:
Usage for X axis:
Usage for Y (Left or Right) axis:
Result:
Note: This was tested with 'com.github.PhilJay:MPAndroidChart:v3.1.0'
我已经检查了文档,似乎没有选项可以渲染轴之一末端的箭头或其他东西。
也许您可以为图表创建一个叠加层,但我想将箭头放在正确的位置并不是一个好主意。
I have checked the documentation and it seems that there is no option to render an arrow or something else on the end of one of the axis.
Maybe you can create an overlay for your chart, but i guess placing the arrows on the correct place is not a good idea.