我正在尝试使用GraphView库绘制多天的股价,而X轴为天。我可以通过覆盖formatlabel找出如何在X轴上使用日期。但是我遇到一个问题,当没有Y轴值时,图形显示不连续性。例如:我连续5天每5分钟获取一次股价数据,并希望每天在X轴标签上显示(以“ dd”格式),并且该图应仅包含市场工作时间的数据。但是该图似乎在收盘后甚至包含了数据,导致不连续性,如下图所示。
另外,我只想显示一天的每个开始的X轴标签,而不要显示GraphView选择的任何随机值(包括预期的绘图)。
我观察到的另一个问题是,即使使用graph.getGridLabelRenderer().setNumHorizontalLabels(5)
设置了水平标签的数量
这是行不通的。我仍然只看到2个标签。我什至尝试将HumanRounding设置为false。这会更糟,因为它显示所有值并且X轴标签重叠且不可见
SimpleDateFormat sdf_1w = new SimpleDateFormat("dd");
//Here is the override for formatLabel() to display X-axis in Date format
graph.getGridLabelRenderer().setLabelFormatter(new DefaultLabelFormatter()
{
@Override
public String formatLabel (double value, boolean isValueX) {
if (isValueX) {
return sdf_1w.format(new Date((long) value));
} else {
return super.formatLabel(value, isValueX);
}
}
});
graph.getGridLabelRenderer().setNumHorizontalLabels(5);
graph.getGridLabelRenderer().setNumVerticalLabels(5);
graph.getGridLabelRenderer().setHumanRounding(false);