1

我有一个 XY 图表,我想在其中表示某些日期的 X 值。数据集的创建很简单:

XYSeries serie = new XYSeries("valor");
for(int i=0;i<lista.size();i++){
    serie.add(i,lista.get(i).getValue());

}
dataset.addSeries(serie);

其中 serie.add 用作参数(y.value,x.value)。我表示 x 值随时间变化,但它只是数组列表的索引(显然,我使用 i 作为第一个参数)。我的问题是,如何将日期(或字符串)显示为 Y 值?我知道这可以通过 BarChart 来完成,例如:

DefaultCategoryDataset dataSet = new DefaultCategoryDataset();
        dataSet.addValue(51, "series", "Colonel Forbin");
        dataSet.addValue(92, "series", "The Lizards");

类似的事情是我需要做的,希望你能帮助,谢谢

4

1 回答 1

1

如此处所示,如果您的系列中的范围值表示距 Java纪元的毫秒数,则 aDateAxis应该正确显示这些值。

NumberAxis domain = new NumberAxis("X");
DateAxis range = new DateAxis("Y");
domain.setAutoRangeIncludesZero(false);
XYItemRenderer renderer = new XYLineAndShapeRenderer(true, false);
XYPlot plot = new XYPlot(dataset, domain, range, renderer);
JFreeChart chart = new JFreeChart(
    "Title", JFreeChart.DEFAULT_TITLE_FONT, plot, false);

附录:我只想设置……动态变化的标签。

看起来像你想要SymbolAxis的,看到这里

于 2013-02-08T15:55:41.317 回答