gpt4 book ai didi

java - 使用 JFreeChart 中的类将 double 转换为日期格式

转载 作者:太空宇宙 更新时间:2023-11-04 07:26:14 26 4
gpt4 key购买 nike

我想知道是否可以将两个参数设置为日期,在本例中,它将第一个参数作为可比较参数,将第二个参数设置为 double 参数。但我希望 double 显示为日期。有没有可以使用的类。如果没有,还有其他方法可以将两者显示为日期吗?例如,我需要 x 轴和 y 轴作为日期。

对于data.addValue("8/4/2012",7.0)

我想要这样的 ("8/4/2012 20:06:02","8/5/2012") --> 下面的图表是否可能。

提前谢谢您。

public class Example1 {

public static void main(String args[]){

DefaultKeyedValues data = new DefaultKeyedValues();
data.addValue("8/4/2012" ,7.0);
data.addValue("19/04/2012",5.0);

CategoryDataset dataset = DatasetUtilities.createCategoryDataset("Population", data);
JFreeChart chart = ChartFactory.createBarChart("Population","Date","Population",dataset,PlotOrientation.VERTICAL,true,true,false);
ChartFrame frame = new ChartFrame("Test", chart);

//Switch from a Bar Rendered to a LineAndShapeRenderer so the chart looks like an XYChart
LineAndShapeRenderer renderer = new LineAndShapeRenderer();
renderer.setBaseLinesVisible(false); //TUrn of the lines
CategoryPlot plot = (CategoryPlot) chart.getPlot();
plot.setRenderer(0, renderer);

NumberAxis numberAxis = (NumberAxis)plot.getRangeAxis();
numberAxis.setRange(new Range(0,10));

frame.pack();
frame.setVisible(true);
}
}

最佳答案

使用DateAxis代替NumberAxis。这将允许您在 setDateFormatOverride() 中使用 DateFormat方法。

更新:org.jfree.chart.demo.TimeSeriesChartDemo1 中有一个完整的示例。您可能需要createLineChart()。这是让范围轴显示日期的方法。

public class Example1 {

public static void main(String args[]) {
DefaultKeyedValues data = new DefaultKeyedValues();
data.addValue("8/4/2012", new Day(8, 4, 2012).getFirstMillisecond());
data.addValue("19/04/2012", new Day(19, 4, 2012).getFirstMillisecond());
CategoryDataset dataset = DatasetUtilities
.createCategoryDataset("Population", data);

JFreeChart chart = ChartFactory.createLineChart("Population", "Date",
"Population", dataset, PlotOrientation.VERTICAL, true, true, false);
CategoryPlot plot = (CategoryPlot) chart.getPlot();
LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();
renderer.setBaseShapesVisible(true);
renderer.setBaseLinesVisible(false);

DateAxis range = new DateAxis("Date");
range.setDateFormatOverride(new SimpleDateFormat("dd/MM/yyyy"));
plot.setRangeAxis(range);

ChartFrame frame = new ChartFrame("Test", chart);
frame.pack();
frame.setVisible(true);
}
}

关于java - 使用 JFreeChart 中的类将 double 转换为日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18492137/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com