当前位置: 首页 > 知识库问答 >
问题:

JFreeChart轴标签在小时

夹谷斌蔚
2023-03-14

我有数据,例如(13600),(24400)。。。(3315000)其中(13000)-

如果放入图表中,轴将显示“秒”作为数字。我设置了一个代码,以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 ...)

共有1个答案

魏浩广
2023-03-14

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

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

时间限制在0到23之间,知道如何克服这个问题吗?

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

NumberAxis axis = new NumberAxis();
axis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
 类似资料:
  • 在JFreechart中,我有一个带有日期(和时间)的X轴。 我怎样才能让JFreechart优化它们并充分利用它们? 现在它包含的标签比空间多,所有标签都转换为“…”。 如果不是所有的刻度都有标签,这是完全可以的,但是我想要尽可能多的(如果它们合适并且可以完全显示)。 我怎样才能做到这一点? 这里是完整的最小源来重现截断的标签。(默认情况下,JFreechart不处理优化: 我更喜欢像@tras

  • 我的目标是增加“收入 ($) " 和“年份”的大小。但是我不知道怎么做。我可以增加“苹果、榴莲、橘子”和“2012、2013”。 下面是我的代码。

  • 我有一个图表,以为域。它看起来很好,但是最后一个轴标签有时会离开图表区域。下面是要重现的示例代码: 以下是当前的截图;问题可以在最后一个标签上看到: 是什么原因导致最后一个标签呈现在当前图表区域之外?还有,我该如何预防呢? 但是,如果我将lot_of_values更改为true(这将向集合中添加更多数据-您可以在源代码中看到),那么域轴的最后一个标签将被剪切。下面是lot_of_values=tr

  • 我正在使用jFreechart创建这样的折线图(取自演示): 是否可以将范围和域转换为Unicode编码系统? 非常感谢。

  • 我有一个漂亮的JFreeChart生成的折线图,有一个例外——我X轴上的最后一个值被截断了,就像这样: (注意,以兆赫为单位的z被切断)。 我在这里研究了解决方案: JFreeChart勾号标签切断 但是因为我在中手动指定范围,所以从JavaDoc中可以看出设置边距没有效果 JavaDoc 这是我用来生成X轴的代码: 如果有帮助的话,我还使用以下方法将此内容写入. svg文件: 假设setUppe

  • 创建图表时,您需要告诉查看者查看哪些数据。要做到这一点,你需要在坐标轴上做一些标签。 刻度标题配置 刻度标签配置在scaleLabel的配置下。它定义了刻度标题的选项。需要注意,这仅适用于笛卡尔坐标轴。 名称 类型 默认值 描述 display Boolean false 如果为 true,则显示轴标题 labelString String '' 标题的文字 (例如 "# of People" o