我想给图表背景一个透明的外观(不是完全透明,而是一点点)。这是我的代码。我添加了几行代码来增加透明度,但是我想ChartPanel不会变得透明。编写完这些代码行后,图表背景显示为灰色。

JFreeChart chart = ChartFactory.createPieChart3D(
    "Full traffic view", pieDataset, true, true, true);

PiePlot3D p = (PiePlot3D) chart.getPlot();

PieRenderer renderer = new PieRenderer(sampleColors);
renderer.setColor(p, pieDataset);
p.setDepthFactor(0.07);
p.setCircular(true);
p.setLabelOutlinePaint(null);
p.setLabelBackgroundPaint(null);
p.setLabelShadowPaint(null);

p.setBackgroundPaint(new Color(127, 127, 127, 64));  // tranparency code
p.setBackgroundImageAlpha(0.0f);

p.setSimpleLabels(true);
p.setLabelGenerator(null);
p.setBackgroundPaint(
new GradientPaint(0, 0, Color.white, 0, 100, Color.white));
p.setDarkerSides(true);
ChartPanel frame1 = new ChartPanel(chart);
ChartPanel.setVisible(true);
ChartPanel.add(frame1);

ChartPanel.setSize(640, 400);

最佳答案

我发现图表和绘图都必须使用透明的颜色:

val trans = new Color(0xFF, 0xFF, 0xFF, 0)
chart.setBackgroundPaint(trans)
plot .setBackgroundPaint(trans)

10-07 13:10