Android graphview android graphview使用SetNumVerticalLabel显示错误的图形
我测试了android graphview库,发现以下行为: 我使用了最新的GraphViewDemos和第一个SimpleGraph示例。它显示具有正确数据的线形图。y轴值为1,2,3Android graphview android graphview使用SetNumVerticalLabel显示错误的图形,android-graphview,Android Graphview,我测试了android graphview库,发现以下行为: 我使用了最新的GraphViewDemos和第一个SimpleGraph示例。它显示具有正确数据的线形图。y轴值为1,2,3 GraphViewSeries exampleSeries = new GraphViewSeries(new GraphViewData[] { new GraphViewData(1, 2.0d) , new GraphViewData(2, 1.5d)
GraphViewSeries exampleSeries = new GraphViewSeries(new GraphViewData[] {
new GraphViewData(1, 2.0d)
, new GraphViewData(2, 1.5d)
, new GraphViewData(2.5, 3.0d) // another frequency
, new GraphViewData(3, 2.5d)
, new GraphViewData(4, 1.0d)
, new GraphViewData(5, 3.0d)
});
最大值是3对不起,我不能发布图像,其他坐标都是正确的
如果我加上这些行
graphView.getGraphViewStyle().setNumVerticalLabels(5);
graphView.setVerticalLabels( new String[]{"4","3","2","1","0"});
以前
LinearLayout layout = (LinearLayout) findViewById(R.id.graph1);
layout.addView(graphView);
在改变y轴的代码中,我得到了一个最大值不是3,而是4的图。所有其他坐标的y值都是错误的
为什么完整的图形会改变,而不仅仅是y轴?与线一起:
graphView.setVerticalLabels( new String[]{"4","3","2","1","0"});
可以为图形设置静态标签。因此,垂直标签y值不再与数据链接
此行用于动态标签。您可以修改将生成的标签的计数
graphView.getGraphViewStyle().setNumVerticalLabels(5);
但是您使用的是静态标签,因此该行没有意义
访问此页面并滚动到教程的自定义标签格式化程序部分
GraphView graphView = new LineGraphView(this, "example");
graphView.setCustomLabelFormatter(new CustomLabelFormatter() {
@Override
public String formatLabel(double value, boolean isValueX) {
if (isValueX) {
if (value < 5) {
return "small";
} else if (value < 15) {
return "middle";
} else {
return "big";
}
}
return null; // let graphview generate Y-axis label for us
}
});
基本上,您必须使用您提供的静态垂直标签映射实际y值谢谢Jonas,因此实际上不可能将y轴设置为大于图形最大值的值?可以使用一个额外的图形,该图形具有正确的最小值和最大值,并将其颜色设置为背景色。这是可能的。再次使用SetManualYaxisBoundsHanks。我没有找到那个函数。这比我的解决方案要好,因为图例现在没有显示不可见图形。