我正在使用
JFreeChart 1.0.14
。如果图表太小或太大,我的轴标签会拉伸得非常奇怪。我想关闭此行为,并希望轴标签始终以相同的宽高比打印。
这里是一个SSCCE:import java.awt.BorderLayout;
import javax.swing.JFrame;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
public class Main {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
XYSeries series = new XYSeries("series a");
for (int i = 0; i < 100; i++)
series.add(i, Math.sin(i / 2.0) * Math.cos(i / (2.0 + Math.random())));
XYSeriesCollection dataset = new XYSeriesCollection(series);
JFreeChart chart = ChartFactory.createXYLineChart("", "x-axis", "y-axis", dataset, PlotOrientation.VERTICAL, false, false, false);
ChartPanel panel = new ChartPanel(chart);
frame.add(panel, BorderLayout.CENTER);
frame.setSize(400, 200);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
它生成带有 OK
标记的输出。当我在任一方向上更改框架的大小到一定程度时,轴标签(和刻度标签)开始变形(可以通过两个带有 stretched
标记的框架看到)。它们的 "拉伸因子" 是同步的。
我无法找出如何禁用此 "特性" 并始终以固定的宽高比显示轴标签:高度比。您知道如何做这件事吗?
ChartComposite
时设置这些变量。该类中没有这些变量的set
方法。 - Mario Marinato