我在散點圖上有成千上萬的點JFreeChart。現在的問題是我的程序正在繪制帶有“正方形”的點,但是我需要一些有關如何將Shape點的“正方形”更改為“點/圓”的幫助。任何幫助,將不勝感激。// * 我正在使用ShapeUtilities,但是當我用于XYItemRenderer / XYDotRenderer時,它不會將點的形狀更改為“ DaigonalCross”-如果代碼中有任何錯誤,請進行任何更正.. * ///import java.awt.Color;import java.awt.Dimension;import java.awt.Shape;import java.util.*;import javax.swing.JPanel;import org.jfree.chart.*;import org.jfree.chart.plot.PlotOrientation;import org.jfree.chart.plot.XYPlot;import org.jfree.chart.renderer.xy.XYItemRenderer;import org.jfree.chart.renderer.xy.XYDotRenderer;import org.jfree.data.xy.XYDataset;import org.jfree.data.xy.XYSeries;import org.jfree.data.xy.XYSeriesCollection;import org.jfree.ui.ApplicationFrame;import org.jfree.ui.RefineryUtilities;import org.jfree.util.ShapeUtilities;public class SPlotfinal extends ApplicationFrame {
public SPlotfinal(String s) {
super(s);
JPanel jpanel = createDemoPanel();
jpanel.setPreferredSize(new Dimension(500, 270));
setContentPane(jpanel);
}
public static JPanel createDemoPanel() {
JFreeChart jfreechart = ChartFactory.createScatterPlot("Scatter Plot Demo",
"X", "Y", samplexydataset2(), PlotOrientation.VERTICAL, true, true, false);
Shape cross = ShapeUtilities.createDiagonalCross(3, 1);
XYPlot xyPlot = (XYPlot) jfreechart.getPlot();
XYItemRenderer renderer = xyPlot.getRenderer();
renderer.setBaseShape(cross);
renderer.setBasePaint(Color.red);
//changing the Renderer to XYDotRenderer
//xyPlot.setRenderer(new XYDotRenderer());
XYDotRenderer xydotrenderer = new XYDotRenderer();
xyPlot.setRenderer(xydotrenderer);
xydotrenderer.setSeriesShape(0, cross);
xyPlot.setDomainCrosshairVisible(true);
xyPlot.setRangeCrosshairVisible(true);
return new ChartPanel(jfreechart);
}更改散點圖中的點的形狀
更改散點圖中的點的形狀
慕尼黑8549860
2019-09-26 15:16:25