组合的条形图和折线图JfreeChart。试图使折线图平均3点。值排列不正确

科尔·戈登

我的条形图有一个数据集,可以说:{1,2,3,4,5,6,7,8,9}。然后,我得到了折线图,该折线图应该是三点平均值,即该索引处的条形图的值,以及该点之前的两个值,然后除以三。

对于相应的条形图值1和2,折线图应该不存在,然后从位置3开始。它仍然在位置1开始折线图,只是将其拉伸以适合该图。

我该如何做才能使折线图从第3列开始,然后从第3列继续?

这是我现在拥有的:

公共类mockTest扩展了JFrame {

public mockTest()
{
    //Mock data
    DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    DefaultCategoryDataset dataset2 = new DefaultCategoryDataset();
    int[] times = new int[]{1,2,3,4,5,6,7,8,9};

    for ( int i = 0; i < times.length; i++ ){
        dataset.addValue(times[i], "Time", "Hour" + String.valueOf(i+1));;
        if(i>2)
        {
            dataset2.addValue((times[i] + times[i-1] + times[i-2])/3, "Time", "Hour" + String.valueOf(i+1));

        }

    }
    CategoryPlot plot = new CategoryPlot();

    //create the plot

    //add the first dataset, and render as bar values
    CategoryItemRenderer renderer = new BarRenderer();
    plot.setDataset(0,dataset);
    plot.setRenderer(0,renderer);  

    //add the second dataset, render as lines
    CategoryItemRenderer renderer2 = new LineAndShapeRenderer();
    plot.setDataset(1, dataset2);

    plot.setRenderer(1, renderer2);

    //set axis 
    CategoryAxis domainAxis = new CategoryAxis("Time");  
    NumberAxis rangeAxis = new NumberAxis("Value"); 

    plot.setDomainAxis(0,domainAxis);
    plot.setRangeAxis(rangeAxis);
    JFreeChart chart = new JFreeChart(plot);
    ChartPanel chartPanel = new ChartPanel( chart ); 

    this.setContentPane(chartPanel);
}   

**弄清楚了,就在我放置if(i <2)语句的地方,添加了else语句,并以null作为值。

科尔·戈登

我最终使用了try and catch块,但是if和else也可以工作。在您不希望任何值的地方,只需将null作为值。

    for(int i=0;i<ints1.size();i++)
    {
        dataset.addValue(ints1.get(i), "Good Product", "Hour" + String.valueOf(i+1));
        dataset.addValue(ints2.get(i), "Bad Product", "Hour" + String.valueOf(i+1));
        try{
            dataset2.addValue((ints1.get(i) + ints1.get(i-1) + ints1.get(i-2))/3, "Time", "Hour" + String.valueOf(i+1));
            }
            catch(ArrayIndexOutOfBoundsException e)
            {
                dataset2.addValue(null, "Time", "Hour" + String.valueOf(i+1));
            }
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在JavaScript中组合条形图和折线图

ggplot组合的条形图和折线图

Highcharts获得组合的条形图和折线图

如何排列折线图和点图的值

将组合的条形图与截断的折线图组合

D3.js组合条形图和折线图

条形图顶部中间的折线图点

分组条形图和折线图

无法使用pandas plot()函数组合条形图和折线图

使用iOS图表的组合图表(折线图和条形图)

Flot:在一张图表中组合堆积的条形图和折线图

在ggplot2中组合条形图和折线图(双轴)

Chart.js如何获取组合条形图和折线图?

如何在ggplot2中绘制组合的条形图和折线图

组合图表(条形图和折线图)+ xAxis.setValueFormatter

如何使用R组合特定变量的折线图和条形图

组合条形图和折线图(python)时出现问题

创建组合条形图和折线图,其值为“0”,从垂直线的中间开始 GOOGLE CHARTS

情节:如何将条形图和折线图与条形图组合为子图?

D3.js 组合条形图和折线图 x 轴未对齐问题

如何在chart.js中的条形图和折线图顶部显示数据值3

无法在D3条形图/折线图中显示折线

如何从折线图更改为条形图

堆叠条形图+折线图角度库

D3多折线图的X轴值显示不正确

使用pandas和matplotlib绘制叠加图(折线图和条形图)

Android中使用aChartEngine的两个条形图和两个折线图的组合

尝试绘制条形图和折线图时的 gnuplot '无有效点'消息

我如何正确地将条形图和折线图重叠在一起