如何使用 JFreeChart 在 2 行中的折线图的 X 轴上呈现日期值?

How to render Date Values on X Axis of LineChart in 2 Lines using JFreeChart?

我正在使用 JFreeChart 来呈现使用 CategoryPlot 的折线图。 类似于:

JFreeChart chart = ChartFactory.createLineChart("Daily Revenue",
                "Days", "Revenue", dataset);

        CategoryPlot plot = chart.getCategoryPlot(); 

所以你可以理解我必须在倾斜到 45 度的 X 轴上显示像 23 Feb'18 11:00:00 这样的完整时间,我可以使用

来实现
CategoryAxis categoryAxis = chart.getCategoryPlot().getDomainAxis();
categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);

但我想在 XAxis 上分两行显示我的文本,有点像:

23 Feb'18 
11:00:00

倾斜到 45 度。我曾尝试使用

CategoryAxis categoryAxis = chart.getCategoryPlot().getDomainAxis();         
categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
categoryAxis.setMaximumCategoryLabelLines(5);

没有成功,我该如何实现呢??

经过一番自我研究后,我发现通过 ChartUtilities.encodeAsPNG(chart.createBufferedImage(500, 300)); 命令减小 JFreeChart 图像的宽度和高度值时,文本会自动调整到新行。

所以经过更多研究,我得到了为我完成工作的命令。通过为 Y-Axis it is getRangeAxis()

沿着 X-Axis so getDomainAxis() 创建一个 CategoryAxis 的对象
CategoryAxis domainAxis = chart.getCategoryPlot().getDomainAxis();
domainAxis.setMaximumCategoryLabelWidthRatio(0.25f);

然后我们使用 .setMaximumCategoryLabelWidthRatio(float ratio) 并根据您的要求进行调整!!