wone7 2023-06-06 16:13 采纳率: 0%
浏览 16
已结题

JFreeChart能实现这个效果吗

各位DL,需求:两根柱状图,四个属性a,b,c,d 第一根根据a,b属性生成叠形柱状图,第二根根据c,d属性生成叠形柱状图
只能做出两个属性或者四个属性叠在一起的的叠行柱状图,搞了几天都不行,求DL赐教

img

  • 写回答

1条回答 默认 最新

  • java入门选手 2023-06-06 16:20
    关注

    可以使用JFreeChart库来创建两个叠形柱状图,分别基于属性a、b和属性c、d。以下是一个简单的示例代码:

    import org.jfree.chart.ChartFactory;
    import org.jfree.chart.JFreeChart;
    import org.jfree.data.category.DefaultCategoryDataset;
    
    public class BarChartExample {
        public static void main(String[] args) {
            // 创建数据集1,添加属性a、b的数据
            DefaultCategoryDataset dataset1 = new DefaultCategoryDataset();
            dataset1.addValue(10, "Series 1", "Category 1");
            dataset1.addValue(20, "Series 1", "Category 2");
            dataset1.addValue(30, "Series 1", "Category 3");
            dataset1.addValue(40, "Series 1", "Category 4");
    
            // 创建数据集2,添加属性c、d的数据
            DefaultCategoryDataset dataset2 = new DefaultCategoryDataset();
            dataset2.addValue(50, "Series 2", "Category 1");
            dataset2.addValue(60, "Series 2", "Category 2");
            dataset2.addValue(70, "Series 2", "Category 3");
            dataset2.addValue(80, "Series 2", "Category 4");
    
            // 创建图表1,基于属性a、b的数据
            JFreeChart chart1 = ChartFactory.createStackedBarChart(
                    "Chart 1",
                    "Category",
                    "Value",
                    dataset1);
    
            // 创建图表2,基于属性c、d的数据
            JFreeChart chart2 = ChartFactory.createStackedBarChart(
                    "Chart 2",
                    "Category",
                    "Value",
                    dataset2);
    
            // 显示图表
            ChartFrame frame1 = new ChartFrame("Chart 1", chart1);
            frame1.pack();
            frame1.setVisible(true);
    
            ChartFrame frame2 = new ChartFrame("Chart 2", chart2);
            frame2.pack();
            frame2.setVisible(true);
        }
    }
    

    上述代码中创建了两个数据集,分别基于属性a、b和属性c、d。然后使用ChartFactory.createStackedBarChart()方法创建两个叠形柱状图,最后将它们显示在窗体中。

    如果您想要将这两个叠形柱状图合并为一个,可以通过创建一个新的数据集,将属性a、b和属性c、d的数据都添加到其中,然后使用ChartFactory.createStackedBarChart()方法创建一个新的叠形柱状图。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月19日
  • 创建了问题 6月6日

悬赏问题

  • ¥30 计算机硬件实验报告寻代
  • ¥15 51单片机写代码,要求是图片上的要求,请大家积极参与,设计一个时钟,时间从12:00开始计时,液晶屏第一行显示time,第二行显示时间
  • ¥15 用C语言判断命题逻辑关系
  • ¥15 原子操作+O3编译,程序挂住
  • ¥15 使用STM32F103C6微控制器设计两个从0到F计数的一位数计数器(数字),同时,有一个控制按钮,可以选择哪个计数器工作:需要两个七段显示器和一个按钮。
  • ¥15 在yolo1到yolo11网络模型中,具体有哪些模型可以用作图像分类?
  • ¥15 AD9910输出波形向上偏移,波谷不为0V
  • ¥15 淘宝自动下单XPath自动点击插件无法点击特定<span>元素,如何解决?
  • ¥15 曙光1620-g30服务器安装硬盘后 看不到硬盘
  • ¥15 抖音直播广场scheme