Java JFree图表将轴设置为百分比
我希望我的轴变成%而不是普通的数字。有人知道我如何修改我的代码来实现这一点吗 应该说,我的表已经在处理中,但它本身的图形不是 更新 这是我迄今为止尝试过的,但仍然没有改变:Java JFree图表将轴设置为百分比,java,jfreechart,Java,Jfreechart,我希望我的轴变成%而不是普通的数字。有人知道我如何修改我的代码来实现这一点吗 应该说,我的表已经在处理中,但它本身的图形不是 更新 这是我迄今为止尝试过的,但仍然没有改变: CategoryPlot plot = (CategoryPlot) chart.getPlot(); NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); DecimalFormat pctFormat = new DecimalFormat("#
CategoryPlot plot = (CategoryPlot) chart.getPlot();
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
DecimalFormat pctFormat = new DecimalFormat("#.0%");
rangeAxis.setNumberFormatOverride(pctFormat);
rangeAxis.setRange(0.0, 100.0);
chart.getXYPlot().setRangeAxis(rangeAxis);
title = periode;
chartPanel.setChart(chart);
setTableModel(true,true);
更新2
要将间隔设置为10,需要以下代码:
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setRange(0.0, 100.0);
rangeAxis.setTickUnit(new NumberTickUnit(10));
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
rangeAxis.setAutoRangeIncludesZero(true);
您可以使用
NumberAxis\setNumberFormatOverride()
并提供java.text.NumberFormat
CategoryPlot plot = (CategoryPlot) chart.getPlot();
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
DecimalFormat pctFormat = new DecimalFormat("#.0%");
rangeAxis.setNumberFormatOverride(pctFormat);
您可以使用
NumberAxis\setNumberFormatOverride()
并提供java.text.NumberFormat
CategoryPlot plot = (CategoryPlot) chart.getPlot();
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
DecimalFormat pctFormat = new DecimalFormat("#.0%");
rangeAxis.setNumberFormatOverride(pctFormat);
我试过以下方法:NumberAxis plots=newnumberaxis();DecimalFormat procentage=新的DecimalFormat(“0.0”);然而,这并没有改变图表?@MarcRasmussen您的
十进制格式中缺少了一个“%”谢谢您的帮助,但我的图表仍然是从0到105,我还能改变吗S,是否可以将间隔更改为10%pr行(因此为0 10 20 30 40 ect)@MarcRasmussen对你的两个问题都是肯定的,但如果不访问你的代码,就无法告诉你如何操作。例如,是105%还是10500%?你用的是什么样的图表?对于CategoryPlot
或XYPlot
,我的答案可能不同。如果您以a的形式添加代码,我们可以进一步帮助您,它是堆叠条形图和折线图,很抱歉,我无法将其添加到SSCCE,因为代码非常混乱,并且从数据库收集所有数据Sive尝试了以下操作:NumberAxis绘图=新的NumberAxis();DecimalFormat procentage=新的DecimalFormat(“0.0”);然而,这并没有改变图表?@MarcRasmussen您的十进制格式中缺少了一个“%”谢谢您的帮助,但我的图表仍然是从0到105,我还能改变吗S,是否可以将间隔更改为10%pr行(因此为0 10 20 30 40 ect)@MarcRasmussen对你的两个问题都是肯定的,但如果不访问你的代码,就无法告诉你如何操作。例如,是105%还是10500%?你用的是什么样的图表?对于CategoryPlot
或XYPlot
,我的答案可能不同。如果您以a的形式添加代码,我们可以进一步帮助您,它是堆叠条形图和折线图,很抱歉,我无法将其添加到SSCCE,因为代码非常混乱,并且从数据库收集所有数据s