当前位置: 首页 > 知识库问答 >
问题:

如何更改JFreeChart大小

东方化
2023-03-14

我已经将JFreeChart添加到JPanel中(使用BorderLayout),它很大。我能做点什么让它变小吗?

public void generateChart()
{
    DefaultCategoryDataset dataset = new DefaultCategoryDataset();

    //set the values of the chart
    for(int i=0; i<8; i++)
    {
        dataset.setValue(income_array[i], "Income",
            Double.toString(percent_array[i]));
    }

    JFreeChart chart = ChartFactory.createBarChart(
        "Required Annual Income for a Variety of Interest Rates",
        "Percent", "Income", dataset, PlotOrientation.VERTICAL,
        false,true, false);
    ChartPanel cp = new ChartPanel(chart);

    chart.setBackgroundPaint(Color.white);
    chart.getTitle().setPaint(Color.black); 
    CategoryPlot p = chart.getCategoryPlot(); 
    p.setRangeGridlinePaint(Color.blue); 

    //cp.setMaximumDrawHeight(5);
    //cp.setMaximumDrawWidth(5);
    //cp.setZoomOutFactor(.1);
    JPanel graph = new JPanel();
    graph.add(cp);
    middle.add(graph, BorderLayout.CENTER);
}   

共有1个答案

皇甫浩壤
2023-03-14

创建图表面板时,有几个选项会影响结果:

>

  • 接受default_widthdefault_height:680 x 420。

    在构造函数中指定首选的宽度高度

    @Override
    public Dimension getPreferredSize() {
        // given some values of w & h
        return new Dimension(w, h);
    }
    

  •  类似资料:
    • 问题内容: 我在(使用)中添加了一个,它很大。有什么办法可以做得更小? 问题答案: 创建时,你有几个影响结果的选项: 接受和。 指定首选和在构造。 适当时显式调用。 覆盖以动态计算大小。 选择将添加到的容器的布局。需要注意的是默认的布局是,而的是。作为一个具体示例,在构造函数中使用首选值,并在容器中同时使用,以允许动态调整大小。

    • 问题内容: 我正在使用JFreeChart,并且希望能够将范围轴上的标签从数字更改为对我所在的域更有意义的名称。我只看到用于自定义标签外观的选项,而无法覆盖其内容基于刻度位置的标签。 有谁知道如何覆盖tickLabel的文本? 问题答案: JFreeChart 显示了如何使用该方法。为此有几个方便的静态工厂。要覆盖默认值,您可以“创建自己的实例,然后将其传递给方法”。 附录:上述默认值仅使用; 的

    • 我使用JFreeChart(1.0.14)中的来显示一些图表。布局由MigLayout处理,所有工作都很好。然而,我不时有奇怪的行为。当图形改变时,面板的最小大小有时也会改变。我不是在代码中设置它,而是将一切都留给Miglayout。 null

    • 问题内容: 我在启动时修改UIView高度有麻烦。 我必须使用UIView,我希望其中一个是屏幕尺寸* 70,另一个是填补空白。 这是我所拥有的 和 它在运行时对应用程序没有影响。我使用自动版式,但只有边距限制… 我做错了吗? 问题答案: 干得好。这应该工作。

    • 问题内容: 我的MySQL数据库中的BLOB字段有问题-上传大于1MB的文件时出现错误 这是我尝试过的: 在MySQL查询浏览器中,我运行了一个,结果显示为1048576。 然后,我执行查询之后-这让我33554432预期。 但是,当我重新启动MySQL服务器时,它神奇地回到了1048576。在这里我做错了什么? 额外的问题,是否可以压缩BLOB字段? 问题答案: 通过在文件中的或部分下添加单行来

    • 问题内容: 您可以更改JOptionPane的字体和文本大小吗?我尝试了它,只有当我在那个特定的Java类上“运行文件”时,它才起作用。如果启动整个项目,则不会更改字体。我只想更改一个特定的JOptionPane而不是全部。 这是代码: 问题答案: 真的很简单。JOption窗格不仅接受字符串,还接受组件。因此,您可以创建一个标签集并设置其字体并将其用作消息。 我不明白为什么以前没人回答这个问题