Java 时间序列中的相对时间戳
我试着制作一张非常简单的图表,图表显示了在一秒钟内测量的力。我有一个普通的jane示例,它输出以下图表: 这是我的密码: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
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);