[英]Is there a way I can get the Bar Width in px/dp's of an MP Android BarChart?
以像素为单位的条宽是条宽 x 位置 (wp) 与标签起始位置 (xp) 之间的差值:
Transformer transformer = bChart.getTransformer(YAxis.AxisDependency.LEFT);
float bw = (float) transformer.getPixelForValues(bChart.getBarData().getBarWidth(), 0).x;
float xp = (float) transformer.getPixelForValues(0, 0).x;
float barWidthInPixels = bw - xp;
从javadoc可以看出, BarData#getBarWidth()
以图表值(不是以像素为单位)返回条形宽度。
您可以使用Transformer
在图表值(图表上的x和y值)和像素值(针对Android手机的屏幕)之间进行Transformer
。 类似于以下内容:
float barWidth = barData.getBarWidth();
Transformer transformer = mChart.getViewPortHandler().getTransformer(AxisDependency.LEFT);
MPPointD barDimensPoint = transformer.getPixelForValues(barWidth, 0);
float barWidthInPixels = (float) barDimensPoint.x;
它本质上是与这个问题相反的操作,其中要求是将像素转换为图表上的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.