gpt4 book ai didi

java - JFreeChart 轴标签(以小时为单位)

转载 作者:行者123 更新时间:2023-11-30 08:13:01 24 4
gpt4 key购买 nike

我有数据,例如(1,3600), (2,4400), ... (33,15000)其中 (1,3000)-> 1 是一个数字-> 3600 是秒

如果放入图表中,轴会将“秒”显示为数字。我设置了一个代码,以 1 小时为间隔显示轴标签。

// Create an NumberAxis
NumberAxis xAxis = new NumberAxis();
xAxis.setTickUnit(new NumberTickUnit(3600));

// Assign it to the chart
xyPlot.setDomainAxis(xAxis);

现在轴标签是:0 ... 3600 ... 7200 ... 10.800 ...

如何使轴标签以小时为单位显示? (0 ... 1 ... 2 ... 3 ...)

最佳答案

一种方法是将数据缩放 1000 来表示 epoch 中的毫秒数。然后,您可以使用 SimpleDateFormat 和合适的 TimeZone 来获得所需的效果。

DateAxis axis = new DateAxis("Hour");
SimpleDateFormat format = new SimpleDateFormat("H");
format.setTimeZone(TimeZone.getTimeZone("GMT"));
axis.setDateFormatOverride(format);

image

The hours are limited to between 0 and 23, any idea how to overcome this?

您可以尝试其他格式,例如“D:H”。或者,按 1/3600 缩放以表示小时,并使用带有整数刻度单位的 NumberAxis

NumberAxis axis = new NumberAxis();
axis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

image

关于java - JFreeChart 轴标签(以小时为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30094718/

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