我想显示用户尝试的问答会话的线条和条形图。我正在使用AndroidPlot 0.6.0
。会话日期时间为域,范围是使用Yes
或No
回答的问题数。
问题:带有单个项目的列表未在图表中显示任何内容。例如,用户第一次会话:
列表中至少有两个项目正确显示图表。图表正确显示两个会话,其中日期为域,计数为是/否为范围:
我的线图代码如下:
XYSeries answeredYesSeries = new SimpleXYSeries(answeredYesList,
SimpleXYSeries.ArrayFormat.Y_VALS_ONLY,
// Y_VALS_ONLY means use the element index as the x value
"Answered Yes"); // Title of this series
// Create a formatter to use for draw ing a series using
// LineAndPointRenderer
// and configure it from xml:
LineAndPointFormatter series1Format = new LineAndPointFormatter();
series1Format.setPointLabelFormatter(new PointLabelFormatter());
series1Format.configure(getApplicationContext(),
R.xml.line_point_formatter_with_plf1);
// add count of questions answered with yes series to the xyplot:
xyPlot.addSeries(answeredYesSeries, series1Format);
XYSeries answeredNoSeries = new SimpleXYSeries(answeredNoList,
SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, // Y_VALS_ONLY means
// use the element
// index as the x
// value
"Answered No"); // Title of this series
// Create a formatter to use for draw ing a series using
// LineAndPointRenderer
// and configure it from xml:
LineAndPointFormatter series2Format = new LineAndPointFormatter();
series2Format.setPointLabelFormatter(new PointLabelFormatter());
series2Format.configure(getApplicationContext(),
R.xml.line_point_formatter_with_plf2);
// add count of questions answered with no series to the xyplot:
xyPlot.addSeries(answeredNoSeries, series2Format);
有人有解决方案吗?
答案 0 :(得分:1)
这是因为Androidplot没有足够的信息来自动计算单个点的合理域/范围比例。
让我们说你的数据由点[1,1]组成。应该如何呈现? x / y比例应该是0 - 2吗?那没关系 - 如果数据代表我在一周内吃的牛排数量。但是,如果数据具有大规模,如1到10,000之间的随机数,该怎么办?或者如果比例在0和1之间怎么办。
不是假设一个有意义的比例(它可能并且可以说应该做什么),而是必须提供此信息的Androidplot。这是将图形边界固定到固定区域的简单示例:
plot.setDomainBoundaries(-1, 1, BoundaryMode.FIXED);
plot.setRangeBoundaries(0, 2, BoundaryMode.FIXED);
请注意,如果您希望它可见,您需要提出包含您尝试绘制的点的边界。