gpt4 book ai didi

java - JFreeChart 创建分层时间序列

转载 作者:行者123 更新时间:2023-12-01 15:20:53 24 4
gpt4 key购买 nike

我需要将时间序列数据显示为分层条形图。 JFreeChart 可以吗?任何指示都会非常有帮助。

数据将是一个列表:(TS,X1,X2),我必须在其中绘制给定时间戳(TS)的 X1,而 X2 基本上将充当给定 X1 值的标签。

编辑:此外,对于同一个 TS,可能存在不同的 X1 值。这个想法是将所有这些 X1 值表示为针对相同 TS 的分层条。

这是我想要的一个例子:

chart image.

(所以我将在 X 轴上使用 TS,而不是类别)

最佳答案

听起来您想要一个条形图(x 轴由时间确定),条形标有其值。您不需要为标签添加新的数据系列,而是修改绘图的呈现。

这是一个简单的例子:

public class LabelledBarChartTest {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(10.0, "Series", new Integer(2010));
dataset.addValue(20.0, "Series", new Integer(2011));
dataset.addValue(30.0, "Series", new Integer(2012));
JFreeChart chart = ChartFactory.createBarChart(null,null,null,dataset,
PlotOrientation.VERTICAL,true,true,false);
CategoryPlot plot = (CategoryPlot) chart.getPlot();
CategoryItemRenderer renderer = plot.getRenderer();

// label the points
NumberFormat format = NumberFormat.getNumberInstance();
format.setMaximumFractionDigits(2);
CategoryItemLabelGenerator generator = new StandardCategoryItemLabelGenerator(
StandardXYItemLabelGenerator.DEFAULT_ITEM_LABEL_FORMAT, format, format);
renderer.setBaseItemLabelGenerator(generator);
renderer.setBaseItemLabelsVisible(true);

frame.setContentPane(new ChartPanel(chart));
frame.pack();
frame.setVisible(true);
}
}

应得的信用 - 我从中得到了标签示例 example .

关于java - JFreeChart 创建分层时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10952415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com