【问题标题】:JFreeChart: X Axis contains time stampsJFreeChart:X 轴包含时间戳
【发布时间】:2014-03-07 17:27:59
【问题描述】:

我需要更改此代码,使 X 轴包含格式为“H:M”的时间戳,例如10:00。

private static XYDataset createCategoryDataset(Map<Integer,List<Task>> staffLevels) 
        {
              String series1 = "Task demand";

              DefaultXYDataset dataset = new DefaultXYDataset();

              double[][] data = new double[2][staffLevels.size()];
              int min_per_hour = 60;

              for (int i=0; i<staffLevels.size(); i++)
              {
                  int seconds = i*Parameters.MIN_TIME_UNIT*60;
                  int hours = (i*Parameters.MIN_TIME_UNIT) / min_per_hour;
                  int minutes = (seconds / min_per_hour) % min_per_hour;
                  data[0][i] = hours + ":" + minutes;
                  data[1][i] = staffLevels.get(i).size();
              }

              dataset.addSeries(series1, data);

              return dataset;
        }

【问题讨论】:

  • 嗨@Klausos Klausos,我正在尝试使用您的示例来回答我的问题(stackoverflow.com/questions/48145295/…),但我在“data[0][1]”行收到了一条编译错误消息。错误信息是“不兼容的类型:字符串不能转换为双精度”。我该怎么办?我错过了什么吗?

标签: java jfreechart


【解决方案1】:

在轴上使用setDateFormatOverride() 和合适的DateFormat

axis.setDateFormatOverride(new SimpleDateFormat("HH:mm"));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-14
    • 2019-09-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-12
    • 2018-07-17
    • 2015-11-20
    • 2021-09-14
    相关资源
    最近更新 更多