Java JFreechart图表面板不透明
我想给图表背景一个透明的外观(不是完全透明,但有点透明)。这是我的密码。我添加了一些代码行来增加透明度,但我猜Java JFreechart图表面板不透明,java,swing,jfreechart,Java,Swing,Jfreechart,我想给图表背景一个透明的外观(不是完全透明,但有点透明)。这是我的密码。我添加了一些代码行来增加透明度,但我猜ChartPanel没有变得透明。在编写这些代码行之后,图表背景显示为灰色 JFreeChart chart = ChartFactory.createPieChart3D( "Full traffic view", pieDataset, true, true, true); PiePlot3D p = (PiePlot3D) chart.getPlot(); PieRen
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);
因为这可能相当依赖于平台和版本,所以您可以查看
绘图以获得所需的效果。我遇到了类似的问题,但在我将背景图像设置为0.0f(即
setBacgroundImageAlpha(0.0f)。因为它设置了绘制背景图像时使用的alpha透明度
alpha透明度(在0.0f到1.0f范围内,其中0.0f完全透明,1.0f完全不透明)
这是因为PNG(便携式网络图形)格式支持alpha通道透明度。
我发现你的代码和我的代码唯一的区别是
p、 setBackgroundPaint(新颜色(127、127、127、64));//你的交易代码
p、 立根底色漆(新颜色(255255,0));//我的透明代码我发现我必须为图表和绘图使用透明颜色:
val trans = new Color(0xFF, 0xFF, 0xFF, 0)
chart.setBackgroundPaint(trans)
plot .setBackgroundPaint(trans)
没有你的帮助,我们只能猜测什么是灰色,为什么是灰色。