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);
}
這使我們這樣的:
正如你所看到的,情節背景的中心已被設置爲白色(正確的),但左,右頁邊距仍然淺灰色。如何設置背景外部的顏色?
愚蠢的問題......如果你'chart.setBackgroundPaint(Color.WHITE)會發生什麼;',而不是'plot.' – durron597
@ durron597'chart.setBackgroundPaint'控制的顏色背景*圍繞圖表,同時'plot.setBackgroundPaint'控制圖表中背景*的顏色。所有的背景?不,並非全部......就像它似乎;) – steffen
'setInsets'呢?編輯:我想通過看javadoc來幫助你,我不能輕易測試任何東西 – durron597