2

イングランドとスコットランドの間の綱引きの現在の状態のコードは次のとおりです。

public TugOfWar(String s) {
    super(s);

    // data set
    DefaultKeyedValues2DDataset dataset = new DefaultKeyedValues2DDataset();
    dataset.addValue(0.2, "England", "");
    dataset.addValue(0.8, "Scotland", "");

    JFreeChart chart = ChartFactory.createStackedBarChart("tug-of-war",
        "", "", dataset, PlotOrientation.HORIZONTAL, true, false, false);
    CategoryPlot plot = chart.getCategoryPlot();

    // customize axis
    SymbolAxis axis = new SymbolAxis("", new String[]{
            "England", "draw", "Scotland"});
    axis.setRange(0, 2d);
    plot.setRangeAxis(axis);

    // customize renderer
    BarRenderer renderer = new StackedBarRenderer();
    renderer.setBase(0.8);
    renderer.setMinimumBarLength(0);
    renderer.setMaximumBarWidth(0.5);
    renderer.setItemMargin(0.0);
    renderer.setDrawBarOutline(true);
    renderer.setShadowVisible(true);
    renderer.setBarPainter(new StandardBarPainter());
    plot.setRenderer(renderer);

    // customize background
    plot.setBackgroundPaint(Color.WHITE);
    plot.setDomainGridlinePaint(Color.lightGray);
    plot.setRangeGridlinePaint(Color.lightGray);
    plot.setDomainCrosshairVisible(true);
    plot.setRangeCrosshairVisible(true);

    ChartPanel chartpanel = new ChartPanel(chart);
    chartpanel.setPreferredSize(new Dimension(600, 270));
    setContentPane(chartpanel);
}

public static void main(String args[]) {
    TugOfWar tugOfWar = new TugOfWar("Tug of war");
    tugOfWar.pack();
    RefineryUtilities.centerFrameOnScreen(tugOfWar);
    tugOfWar.setVisible(true);
}

これにより、次のことがわかります。

ここに画像の説明を入力

ご覧のとおり、プロットの背景の中心は(正しい) に設定されていますが、左右の余白はまだ薄い灰色です。背景の外側の部分の色をどのように設定しますか?

4

1 に答える 1

4

交互の背景は の機能でありSymbolAxis、無効にすることができます。

axis.setGridBandsVisible(false);

ここに画像の説明を入力

于 2012-11-20T03:31:37.093 に答える