当前位置: 首页 > 知识库问答 >
问题:

JFreeChart创建分层时间序列

井嘉胜
2023-03-14

我需要将时间序列数据显示为分层条形图。JFreeChart有可能吗?任何建议都会很有帮助。

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

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

下面是我想要的一个例子:

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

共有1个答案

秦俊发
2023-03-14

听起来你想要一个条形图(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);
  }
}

信用是应得的——我从这个例子中得到了标签例子。

 类似资料:
  • 主要内容:什么是JFreeChart 时间序列图,JFreeChart 时间序列图的示例什么是JFreeChart 时间序列图 时间序列图表表示以相等的时间间隔变化的数字数据序列。 下图显示了 JFreeChart 库中包含的时间序列图表的一些演示版本: JFreeChart 时间序列图的示例 让我们考虑以下时间序列图表的示例数据。 日期 列1 列2 2017-01-01 50 40 2017-01-02 40 35 2017-01-03 45 26 2017-01-04 30 45

  • 本文向大家介绍MongoDB 中创建分层JSON,包括了MongoDB 中创建分层JSON的使用技巧和注意事项,需要的朋友参考一下 使用以下语法在MongoDB中创建分层JSON- 让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出-

  • 我想展示在我的Java应用程序中,一个人在特定的日期是自由的还是被阻止的。我在Power Point中举了一个我的意图的例子: 提前多谢

  • 我有一个火花数据框,我需要写入MongoDB。我想知道如何在mongoDB中将数据框的一些列写成嵌套/分层JSON。假设数据框有6列,col1,col2,…… col5,col6我想要col1,col2,col3作为第一层次结构,其余列col4到col6作为第二层次结构。像这样的东西, 我如何在pyspark中实现这一点?

  • 创建时间Created Created可以让您在数据插入到数据库时自动将对应的字段设置为当前时间,需要在xorm标记中使用created标记,如下所示进行标记,对应的字段可以为time.Time或者自定义的time.Time或者int,int64等int类型。 type User struct { Id int64 Name string CreatedAt time.Ti

  • 问题内容: 我有一个时序数据帧,看起来像这样(时间序列 发生在同一天,但跨越了不同的时间: 从开始,我需要每5分钟创建一个小组。这是所有与该范围内的行向,其新列的值是1(行的每个组内的编号是不规则的,所以我不能简单地切断基团) 最终,数据应如下所示: 目的是执行一些操作,但是我需要做的操作未包含在方法中。因此,我必须创建一列以标识每个组,然后执行。 任何帮助或评论都将受到高度赞赏。 谢谢! 问题答