java - 如何在 JFreeChart 时间序列图中设置日期刻度的最大标签线

标签 java jfreechart time-series

我知道如何创建 CategoryPlot,然后将 DomainAxis 标签设置为使用两行。这是这个想法:

CategoryAxis categoryAxis = categoryPlot.getDomainAxis();
categoryAxis.setMaximumCategoryLabelLines(2); // Mmmm... nice labels

但是我在为时间序列图表做“同样的事情”时遇到了麻烦。问题在于 DateAxis 是 ValueAxis 而不是 CategoryAxis。这是有道理的,因为日期是值。但我不喜欢图表仅使用单行表示日期时的外观。您可以在我的回答this thread中看到示例图表。 。我想将日期格式化为使用 2 行。但我不能这样做:

DateAxis dateAxis = (DateAxis)xyPlot.getDomainAxis();
dateAxis.setMaximumCategoryLabelLines(2); // method does not exist

如何将这些日期标签分成两行?

最佳答案

使用setVerticalTickLabels(),如图here ,可缓解水平拥挤;使用 setDateFormatOverride() 可以减轻由此产生的垂直空间成本。

关于java - 如何在 JFreeChart 时间序列图中设置日期刻度的最大标签线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9384024/

相关文章:

java - jfreechart自定义饼图显示绝对值和百分比

java - maven如何正确包含依赖项

python - Pandas - 当频率不是倍数时重新采样?

sql-server - 棘手的 : SQL Server-side aggregation of time-series data for charting

java - 使用Android AFreeChart将折线图保存为png或jpeg文件

nosql - Cassandra super 列族架构创建

T 和 ? 之间的 Java 泛型区别?延伸 T

java - 投票系统存在逻辑问题

java - 带有空格的正则表达式

java - Spring boot中spring-boot-starter-jersey资源上@Component注解的用途