画雷达图
- /**
- *@作者:Jcuckoo
- *@日期:2008-12-9
- *@版本:V1.0
- */
- publicclassMySpriderWebPlotTest{
- publicstaticvoidmain(Stringargs[]){
- JFramejf=newJFrame();
- jf.add(erstelleSpinnenDiagramm());
- jf.pack();
- jf.setVisible(true);
- }
- publicstaticJPanelerstelleSpinnenDiagramm(){
- DefaultCategoryDatasetdataset=newDefaultCategoryDataset();
- Stringgroup1="apple";
- dataset.addValue(5,group1,"w1");
- dataset.addValue(6,group1,"w2");
- dataset.addValue(4,group1,"w3");
- dataset.addValue(2,group1,"w4");
- dataset.addValue(5,group1,"w5");
- dataset.addValue(5,group1,"w6");
- dataset.addValue(5,group1,"w7");
- dataset.addValue(8,group1,"w8");
- SpiderWebPlotspiderwebplot=newSpiderWebPlot(dataset);
- JFreeChartjfreechart=newJFreeChart("Test",TextTitle.DEFAULT_FONT,spiderwebplot,false);
- LegendTitlelegendtitle=newLegendTitle(spiderwebplot);
- legendtitle.setPosition(RectangleEdge.BOTTOM);
- jfreechart.addSubtitle(legendtitle);
- ChartPanelchartpanel=newChartPanel(jfreechart);
- returnchartpanel;
- }
- }
- publicclassMySpriderWebPlotTest{
- publicstaticvoidmain(Stringargs[]){
- JFramejf=newJFrame();
- jf.add(erstelleSpinnenDiagramm());
- jf.pack();
- jf.setVisible(true);
- }
- publicstaticJPanelerstelleSpinnenDiagramm(){
- DefaultCategoryDatasetdataset=newDefaultCategoryDataset();
- Stringgroup1="apple";
- dataset.addValue(5,group1,"w1");
- dataset.addValue(6,group1,"w2");
- dataset.addValue(4,group1,"w3");
- dataset.addValue(2,group1,"w4");
- dataset.addValue(5,group1,"w5");
- dataset.addValue(5,group1,"w6");
- dataset.addValue(5,group1,"w7");
- dataset.addValue(8,group1,"w8");
- Stringgroup2="orange";
- dataset.addValue(3,group2,"w1");
- dataset.addValue(3,group2,"w2");
- dataset.addValue(4,group2,"w3");
- dataset.addValue(7,group2,"w4");
- dataset.addValue(4,group2,"w5");
- dataset.addValue(5,group2,"w6");
- dataset.addValue(3,group2,"w7");
- dataset.addValue(3,group2,"w8");
- Stringgroup3="banana";
- dataset.addValue(4,group3,"w1");
- dataset.addValue(5,group3,"w2");
- dataset.addValue(2,group3,"w3");
- dataset.addValue(5,group3,"w4");
- dataset.addValue(6,group3,"w5");
- dataset.addValue(6,group3,"w6");
- dataset.addValue(4,group3,"w7");
- dataset.addValue(4,group3,"w8");
- SpiderWebPlotspiderwebplot=newSpiderWebPlot(dataset);
- JFreeChartjfreechart=newJFreeChart("Test",TextTitle.DEFAULT_FONT,spiderwebplot,false);
- LegendTitlelegendtitle=newLegendTitle(spiderwebplot);
- legendtitle.setPosition(RectangleEdge.BOTTOM);
- jfreechart.addSubtitle(legendtitle);
- ChartPanelchartpanel=newChartPanel(jfreechart);
- returnchartpanel;
- }
- }
此处代码参考Jerry代码,友情感谢。
MySpriderWebPlotTest出自“王杰瑞的技术博客” 博客,请务必保留此出处http://wangjierui.blog.51cto.com/186879/116845
- /**
- *@本文出自“王杰瑞的技术博客”博客,请务必保留此出处http://wangjierui.blog.51cto.com/186879/116845
- */
- publicclassMySpiderWebPlotextendsSpiderWebPlot{
- privateintticks=DEFAULT_TICKS;
- privatestaticfinalintDEFAULT_TICKS=5;
- privateNumberFormatformat=NumberFormat.getInstance();
- privatestaticfinaldoublePERPENDICULAR=90;
- privatestaticfinaldoubleTICK_SCALE=0.015;
- privateintvalueLabelGap=DEFAULT_GAP;
- privatestaticfinalintDEFAULT_GAP=10;
- privatestaticfinaldoubleTHRESHOLD=15;
- MySpiderWebPlot(CategoryDatasetcreateCategoryDataset){
- super(createCategoryDataset);
- }
- @Override
- protectedvoiddrawLabel(finalGraphics2Dg2,finalRectangle2DplotArea,finaldoublevalue,
- finalintcat,finaldoublestartAngle,finaldoubleextent){
- super.drawLabel(g2,plotArea,value,cat,startAngle,extent);
- finalFontRenderContextfrc=g2.getFontRenderContext();
- finaldouble[]transformed=newdouble[2];
- finaldouble[]transformer=newdouble[2];
- finalArc2Darc1=newArc2D.Double(plotArea,startAngle,0,Arc2D.OPEN);
- for(inti=1;i<=ticks;i++){
- finalPoint2Dpoint1=arc1.getEndPoint();
- finaldoubledeltaX=plotArea.getCenterX();
- finaldoubledeltaY=plotArea.getCenterY();
- doublelabelX=point1.getX()-deltaX;
- doublelabelY=point1.getY()-deltaY;
- finaldoublescale=((double)i/(double)ticks);
- finalAffineTransformtx=AffineTransform.getScaleInstance(scale,scale);
- finalAffineTransformpointTrans=AffineTransform.getScaleInstance(scale+TICK_SCALE,scale+TICK_SCALE);
- transformer[0]=labelX;
- transformer[1]=labelY;
- pointTrans.transform(transformer,0,transformed,0,1);
- finaldoublepointX=transformed[0]+deltaX;
- finaldoublepointY=transformed[1]+deltaY;
- tx.transform(transformer,0,transformed,0,1);
- labelX=transformed[0]+deltaX;
- labelY=transformed[1]+deltaY;
- doublerotated=(PERPENDICULAR);
- AffineTransformrotateTrans=AffineTransform.getRotateInstance(Math.toRadians(rotated),labelX,labelY);
- transformer[0]=pointX;
- transformer[1]=pointY;
- rotateTrans.transform(transformer,0,transformed,0,1);
- finaldoublex1=transformed[0];
- finaldoubley1=transformed[1];
- rotated=(-PERPENDICULAR);
- rotateTrans=AffineTransform.getRotateInstance(Math.toRadians(rotated),labelX,labelY);
- rotateTrans.transform(transformer,0,transformed,0,1);
- finalCompositesaveComposite=g2.getComposite();
- g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,1.0f));
- g2.draw(newLine2D.Double(transformed[0],transformed[1],x1,y1));
- if(startAngle==this.getStartAngle()){
- finalStringlabel=format.format(((double)i/(double)ticks)*this.getMaxValue());
- finalRectangle2DlabelBounds=getLabelFont().getStringBounds(label,frc);
- finalLineMetricslm=getLabelFont().getLineMetrics(label,frc);
- finaldoubleascent=lm.getAscent();
- if(Math.abs(labelX-plotArea.getCenterX())<THRESHOLD){
- labelX+=valueLabelGap;
- labelY+=ascent/(float)2;
- }elseif(Math.abs(labelY-plotArea.getCenterY())<THRESHOLD){
- labelY+=valueLabelGap;
- }elseif(labelX>=plotArea.getCenterX()){
- if(labelY<plotArea.getCenterY()){
- labelX+=valueLabelGap;
- labelY+=valueLabelGap;
- }else{
- labelX-=valueLabelGap;
- labelY+=valueLabelGap;
- }
- }else{
- if(labelY>plotArea.getCenterY()){
- labelX-=valueLabelGap;
- labelY-=valueLabelGap;
- }else{
- labelX+=valueLabelGap;
- labelY-=valueLabelGap;
- }
- }
- g2.setPaint(getLabelPaint());
- g2.setFont(getLabelFont());
- g2.drawString(label,(float)labelX,(float)labelY);
- }
- g2.setComposite(saveComposite);
- }
- }
- }
- /**
- *@作者:Jcuckoo
- *@日期:2008-12-9
- *@版本:V1.0
- */
- publicclassMySpriderWebPlotTest{
- publicstaticvoidmain(Stringargs[]){
- JFramejf=newJFrame();
- jf.add(erstelleSpinnenDiagramm());
- jf.pack();
- jf.setVisible(true);
- }
- publicstaticJPanelerstelleSpinnenDiagramm(){
- DefaultCategoryDatasetdataset=newDefaultCategoryDataset();
- Stringgroup1="apple";
- dataset.addValue(5,group1,"w1");
- dataset.addValue(6,group1,"w2");
- dataset.addValue(4,group1,"w3");
- dataset.addValue(2,group1,"w4");
- dataset.addValue(5,group1,"w5");
- dataset.addValue(5,group1,"w6");
- dataset.addValue(5,group1,"w7");
- dataset.addValue(8,group1,"w8");
- MySpiderWebPlotspiderwebplot=newMySpiderWebPlot(dataset);
- JFreeChartjfreechart=newJFreeChart("Test",TextTitle.DEFAULT_FONT,spiderwebplot,false);
- LegendTitlelegendtitle=newLegendTitle(spiderwebplot);
- legendtitle.setPosition(RectangleEdge.BOTTOM);
- jfreechart.addSubtitle(legendtitle);
- ChartPanelchartpanel=newChartPanel(jfreechart);
- returnchartpanel;
- }
- }
- /**
- *@作者:Jcuckoo
- *@日期:2008-12-9
- *@版本:V1.0
- */
- publicclassMySpriderWebPlotTest{
- publicstaticvoidmain(Stringargs[]){
- JFramejf=newJFrame();
- jf.add(erstelleSpinnenDiagramm());
- jf.pack();
- jf.setVisible(true);
- }
- publicstaticJPanelerstelleSpinnenDiagramm(){
- DefaultCategoryDatasetdataset=newDefaultCategoryDataset();
- Stringgroup1="apple";
- dataset.addValue(5,group1,"w1");
- dataset.addValue(6,group1,"w2");
- dataset.addValue(4,group1,"w3");
- dataset.addValue(2,group1,"w4");
- dataset.addValue(5,group1,"w5");
- dataset.addValue(5,group1,"w6");
- dataset.addValue(5,group1,"w7");
- dataset.addValue(8,group1,"w8");
- Stringgroup2="orange";
- dataset.addValue(3,group2,"w1");
- dataset.addValue(3,group2,"w2");
- dataset.addValue(4,group2,"w3");
- dataset.addValue(7,group2,"w4");
- dataset.addValue(4,group2,"w5");
- dataset.addValue(5,group2,"w6");
- dataset.addValue(3,group2,"w7");
- dataset.addValue(3,group2,"w8");
- Stringgroup3="banana";
- dataset.addValue(4,group3,"w1");
- dataset.addValue(5,group3,"w2");
- dataset.addValue(2,group3,"w3");
- dataset.addValue(5,group3,"w4");
- dataset.addValue(6,group3,"w5");
- dataset.addValue(6,group3,"w6");
- dataset.addValue(4,group3,"w7");
- dataset.addValue(4,group3,"w8");
- MySpiderWebPlotspiderwebplot=newMySpiderWebPlot(dataset);
- JFreeChartjfreechart=newJFreeChart("Test",TextTitle.DEFAULT_FONT,spiderwebplot,false);
- LegendTitlelegendtitle=newLegendTitle(spiderwebplot);
- legendtitle.setPosition(RectangleEdge.BOTTOM);
- jfreechart.addSubtitle(legendtitle);
- ChartPanelchartpanel=newChartPanel(jfreechart);
- returnchartpanel;
- }
- }