gpt4 book ai didi

java - 如何去除图表周围的白色边框?

转载 作者:行者123 更新时间:2023-12-02 07:14:27 25 4
gpt4 key购买 nike

这是org.jfree.chart.demo.BarChartDemo1稍加修改的代码:

public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {

@Override
public void run() {

CategoryDataset dataset = createDataset();

JFreeChart chart = createChart(dataset);

//chart.setBorderVisible(false); // no effect
//chart.setPadding(new RectangleInsets(0, 0, 0, 0)); // no effect

ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setFillZoomRectangle(true);
chartPanel.setMouseWheelEnabled(true);
//chartPanel.setPreferredSize(new Dimension(500, 270));
chartPanel.setBounds(100,100,640,480);

JFrame frame = new JFrame();
frame.setLayout(null);
//frame.setContentPane(chartPanel);
frame.add(chartPanel);
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);

}
});
}

它画

enter image description here

是否可以删除图表周围的白色边框?代码中进行了一些尝试,但没有效果。

最佳答案

由于您已经消除了域轴和范围轴,因此还存在一个您没有考虑到的填充来源。你错过了这个:

chart.getPlot().setInsets( new RectangleInsets(){
public void trim( Rectangle2D area ) {};
});

您在发布的示例中看到的空白是由于您发布的代码在其中操作 JFreeChartPlot 插图造成的。解决方案代码中使用匿名子类的原因是为了消除原始实现中的 1 像素“光环”。

编辑:

我又折腾了一下,发现除了插入修复之外,您可能还需要也可能不需要这个。我还没有对此进行深入研究,但传递子类 CategoryPlot 似乎至少可以解决这种特殊情况。

private class WrappedCategoryPlot extends CategoryPlot
{
@Override
protected AxisSpace calculateAxisSpace( Graphics2D g2, Rectangle2D plotArea )
{
return new AxisSpace();
}
}

关于java - 如何去除图表周围的白色边框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15098227/

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