AndroidPlot中只有一个数字不显示任何内容

时间:2014-04-19 02:34:34

标签: android androidplot

我想显示用户尝试的问答会话的线条和条形图。我正在使用AndroidPlot 0.6.0。会话日期时间为域,范围是使用YesNo回答的问题数。

问题:带有单个项目的列表未在图表中显示任何内容。例如,用户第一次会话:

列表中至少有两个项目正确显示图表。图表正确显示两个会话,其中日期为域,计数为是/否为范围:

我的线图代码如下:

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);

有人有解决方案吗?

1 个答案:

答案 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);

请注意,如果您希望它可见,您需要提出包含您尝试绘制的点的边界。