gpt4 book ai didi

java - 如何删除自动 Axis 标签拉伸(stretch)?

转载 作者:搜寻专家 更新时间:2023-11-01 01:22:31 25 4
gpt4 key购买 nike

我正在使用 JFreeChart 1.0.14 .如果情节太小/太大,我的 Axis 标签会拉伸(stretch)得非常奇怪。我想关闭该行为并希望 Axis 标签始终以相同的宽高比打印。

stretched

这是一个 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 的输出。当我将任一方向的框架大小时更改为一定量时, Axis 标签(和刻度标签)开始扭曲(如标有 stretched 的两个框架所示)。并且他们的“拉伸(stretch)因子”是同步的。

我不知道如何禁用此“功能”并始终以固定的宽高比显示 Axis 标签。你知道怎么做吗?

最佳答案

这是 scaling 的示例.

您需要在ChartPanel 上设置最大和最小绘制高度和宽度。您可以设置一次:

ChartPanel panel = new ChartPanel(chart);
panel.setMaximumDrawHeight(1000);
panel.setMaximumDrawWidth(1000);
panel.setMinimumDrawWidth(10);
panel.setMinimumDrawHeight(10);

使用一些合适的值或添加一个ComponentListener:

    frame.addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent e) {
panel.setMaximumDrawHeight(e.getComponent().getHeight());
panel.setMaximumDrawWidth(e.getComponent().getWidth());
panel.setMinimumDrawWidth(e.getComponent().getWidth());
panel.setMinimumDrawHeight(e.getComponent().getHeight());
}
});

关于java - 如何删除自动 Axis 标签拉伸(stretch)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13603349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com