gpt4 book ai didi

java - 为什么 setBaseSectionPaint 不起作用?

转载 作者:行者123 更新时间:2023-11-30 02:31:07 25 4
gpt4 key购买 nike

我有一个饼图。我需要将所有部分填充为相同的颜色。在jfreechart指南中,我找到了方法setBaseSectionPaint,但它不起作用。我在循环中使用了方法setSectionPaint,但它不对(程序代码过多)。为什么 setBaseSectionPaint 不起作用?

private  JFreeChart createPieChart(PieDataset piedataset){
JFreeChart jfreechart = ChartFactory.createPieChart("Select the desired dictionary:", piedataset,true, true, false);

PiePlot pieplot = (PiePlot) jfreechart.getPlot();


for (int i=0;i<piedataset.getItemCount();i++){ //excess program code
pieplot.setSectionPaint(piedataset.getKey(i),new Color(54, 95, 196));
}

pieplot.setBaseSectionPaint(new Color(54, 95, 196)); //doesn't work
return jfreechart;
}

最佳答案

PiePlot方法 drawItem() 等会调用 lookupSectionPaint(),它解释了所使用的算法:

  • 如果 getSectionPaint() 不为空,则返回它;
  • 如果 getSectionPaint(int) 为非 null,则返回它;
  • 如果 getSectionPaint(int) 为 null,但 autoPopulatetrue,则尝试从绘图供应商获取新油漆 ( Plot.getDrawingSupplier());
  • 如果所有其他方法均失败,则返回 getBaseSectionPaint()

相反,请尝试这种方法,在省略对 setSectionPaint() 的调用后使用 org.jfree.chart.demo.PieChartDemo1 进行说明:

//plot.setSectionPaint(…);
plot.setAutoPopulateSectionPaint(false);
plot.setBaseSectionPaint(Color.blue);

image

关于java - 为什么 setBaseSectionPaint 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44249795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com