如何使用 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)
并根据您的要求进行调整!!
我正在使用 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)
并根据您的要求进行调整!!