Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 时间序列中的相对时间戳_Java_Jfreechart - Fatal编程技术网

Java 时间序列中的相对时间戳

Java 时间序列中的相对时间戳,java,jfreechart,Java,Jfreechart,我试着制作一张非常简单的图表,图表显示了在一秒钟内测量的力。我有一个普通的jane示例,它输出以下图表: 这是我的密码: TimeSeries series1 = new TimeSeries("Force", "Domain", "Range"); //generate values for (int i = 0; i < 1000; i++) { series1.add(new TimeSeriesDataItem(new Millisecond(i, 0, 0, 0, 1

我试着制作一张非常简单的图表,图表显示了在一秒钟内测量的力。我有一个普通的jane示例,它输出以下图表:

这是我的密码:

TimeSeries series1 = new TimeSeries("Force", "Domain", "Range");

//generate values
for (int i = 0; i < 1000; i++) {
    series1.add(new TimeSeriesDataItem(new Millisecond(i, 0, 0, 0, 1, 1, 2012), i));
}

TimeSeriesCollection dataset = new TimeSeriesCollection();
dataset.addSeries(series1);

JFreeChart chart = ChartFactory.createXYLineChart("Measured Forces", 
            "Time", "Force in Pounds", dataset, PlotOrientation.VERTICAL, 
        false, false, false);

ChartUtilities.saveChartAsPNG(new File("/home/rfkrocktk/Desktop/chart.png"), chart, 1280, 720);
TimeSeries系列1=新的TimeSeries(“强制”、“域”、“范围”);
//产生价值
对于(int i=0;i<1000;i++){
series1.add(新的timeseriesdatatem(新的毫秒(i,0,0,0,1,12012),i));
}
TimeSeriesCollection数据集=新TimeSeriesCollection();
dataset.addSeries(系列1);
JFreeChart chart=ChartFactory.createXYLineChart(“测得的力”,
“时间”、“以磅为单位的力”、数据集、PlotOrientation.VERTICAL、,
假,假,假),;
saveChartAsPNG(新文件(“/home/rfkrocktk/Desktop/chart.png”),chart,1280720;
我如何将那些丑陋的1325404800000值转换为简单的0-1000值,表示测量的总时间,而不是精确的系统时间


我一直在寻找符合我要求的构造函数,但似乎找不到

据我所知,TimeSeries不支持“相对时间”的概念——所有的x值类型(如毫秒)都基于java.util.Date,它产生一个绝对时间


我认为您最好使用XYSeries而不是TimeSeries。那么x值可以是整数。

据我所知,TimeSeries不支持“相对时间”的概念——所有的x值类型(如毫秒)都基于java.util.Date,它产生一个绝对时间

我认为您最好使用XYSeries而不是TimeSeries。然后x值可以是整数。

创建两个
NumberAxis
实例,每个域和范围一个实例。作为另一种选择,考虑使用域的<代码>数据轴< /代码>。在这两种情况下,您都可以在轴上使用
setXxxFormatOverride()
,以获得任何所需的格式。所示示例指定一个工厂
DateFormat

创建两个
NumberAxis
实例,每个域和范围一个实例。作为另一种选择,考虑使用域的<代码>数据轴< /代码>。在这两种情况下,您都可以在轴上使用
setXxxFormatOverride()
,以获得任何所需的格式。所示示例指定了一个工厂
DateFormat

,诀窍是用于域轴格式化。这将以#h#m#.###s格式打印标签。例如,您可能会看到“0h0m2.529s”

诀窍是使用。这将以#h#m#.###s格式打印标签。例如,您可能会看到“0h0m2.529s”

  JFreeChart chart;
  XYPlot plot;
  DateAxis axis;
  TimeSeriesCollection dataset;
  TimeSeries series;
  RelativeDateFormat format;
  long startTime;

  series    = new TimeSeries("Time");
  dataset   = new TimeSeriesCollection(series);
  chart     = ChartFactory.createTimeSeriesChart("Relative", "Elapsed Time", "Value", dataset, true, true, true); 
  plot      = chart.getXYPlot();
  axis      = (DateAxis) plot.getDomainAxis();
  format    = new RelativeDateFormat();
  startTime = System.currentTimeMillis();

  axis.setDateFormatOverride(format);
  format.setBaseMillis(startTime);