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

标签 java charts jfreechart

这是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/

相关文章:

java - 从Java代码源的java AST中删除节点

Paradox 数据库的 java 更新查询

javascript - Google 图表添加不需要的文本

java - 当我运行它时图表不会显示?

java - 类型 'org/springframework/http/MediaType'(当前帧,堆栈 [1])不可分配给 'org/springframework/util/MimeType'

java - 无法使用 @Value ("${database.name}"从属性文件中获取值

javascript - Chart.js:在调整窗口大小时遇到​​问题

javascript - 以秒为单位刷新图表信息,而不是按钮

java - 如何使用 JFreeChart 绘制数组生成的值

java - 添加自定义字体 JFreeChart