JFreeChart 사용 예시(입문 레벨)
6364 단어 자바jfreechart그림.예시초급
JFreeChart 의 기능 이 매우 강해 서 나 도 방금 약간의 가죽 과 털 을 익 혔 을 뿐이다.
다음은 제 코드 를 붙 여 드 리 겠 습 니 다.입문 급 의 예 로 초보 자 에 게 작은 도움 을 주 고 싶 습 니 다.
import java.awt.Color;
import java.awt.Font;
import java.io.File;
import java.io.FileOutputStream;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAnchor;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
public class drawpie {
public static void drawit(int[] a, String t) {
PieDataset dataset = getDataSet(a);
JFreeChart chart = ChartFactory.createPieChart3D(" ", dataset,true, true, false);
PiePlot3D plot = (PiePlot3D) chart.getPlot();
// : ,{0} , {1} , {2} ,
plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}({2})", NumberFormat.getNumberInstance(),
new DecimalFormat("0.00%")));
// : , {0} , {1} , {2}
plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator(
"{0}={1}({2})"));
//
chart.setBackgroundPaint(Color.white);
// (0.0-1.0)
plot.setForegroundAlpha(1.0f);
// (false) (true)
plot.setCircular(true);
//
Font font = new Font(" ", Font.CENTER_BASELINE, 10);
TextTitle title = new TextTitle(t);
title.setFont(font);
// , ,
chart.getLegend().setItemFont(font);
// Pie
plot.setLabelFont(font);
chart.setTitle(title);
FileOutputStream fos_jpg = null;
try {
File file=new File("img");
if(!file.exists())
{
file.mkdir();
}
fos_jpg = new FileOutputStream("img\\"+t+".jpg");
ChartUtilities.writeChartAsJPEG(fos_jpg, 1, chart, 296, 221, null);
fos_jpg.close();
} catch (Exception e) {
}
}
private static PieDataset getDataSet(int[] a) {
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue(" ",a[0]);
dataset.setValue(" ",a[1]);
dataset.setValue(" ",a[2]);
dataset.setValue(" ",a[3]);
dataset.setValue(" ",a[4]);
return dataset;
}
public static void drawchart(int[][] b,String name)
{
CategoryDataset ds =getchartDataSet(b);
JFreeChart chart = ChartFactory.createBarChart3D(
" ", //
" ", //
" ", //
ds, //
PlotOrientation.VERTICAL, //
true, // , false
false, //
false); // url
CategoryPlot categoryplot = (CategoryPlot) chart.getPlot();
NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
CategoryAxis domainAxis = categoryplot.getDomainAxis();
/*------ X -----------*/
domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11));
/*------ X ------------*/
domainAxis.setLabelFont(new Font(" ", Font.PLAIN, 12));
/*------ Y -----------*/
numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12));
/*------ Y ------------*/
numberaxis.setLabelFont(new Font(" ", Font.PLAIN, 12));
/*------ -----------*/
chart.getLegend().setItemFont(new Font(" ", Font.PLAIN, 12));
FileOutputStream fos_jpg = null;
try {
File file=new File("img");
if(!file.exists())
{
file.mkdir();
}
fos_jpg = new FileOutputStream("img\\"+name+".jpg");
ChartUtilities.writeChartAsJPEG(fos_jpg, 1, chart, 392, 221, null);
fos_jpg.close();
} catch (Exception e) {
}
}
private static CategoryDataset getchartDataSet(int[][] b) {
DefaultCategoryDataset ds = new DefaultCategoryDataset();
ds.addValue(b[0][0], " ", " ");
ds.addValue(b[0][1], " ", " ");
ds.addValue(b[0][2], " ", " ");
ds.addValue(b[0][3], " ", " ");
ds.addValue(b[0][4], " ", " ");
ds.addValue(b[1][0], " ", " ");
ds.addValue(b[1][1], " ", " ");
ds.addValue(b[1][2], " ", " ");
ds.addValue(b[1][3], " ", " ");
ds.addValue(b[1][4], " ", " ");
ds.addValue(b[2][0], " ", " ");
ds.addValue(b[2][1], " ", " ");
ds.addValue(b[2][2], " ", " ");
ds.addValue(b[2][3], " ", " ");
ds.addValue(b[2][4], " ", " ");
ds.addValue(b[3][0], " ", " ");
ds.addValue(b[3][1], " ", " ");
ds.addValue(b[3][2], " ", " ");
ds.addValue(b[3][3], " ", " ");
ds.addValue(b[3][4], " ", " ");
ds.addValue(b[4][0], " ", " ");
ds.addValue(b[4][1], " ", " ");
ds.addValue(b[4][2], " ", " ");
ds.addValue(b[4][3], " ", " ");
ds.addValue(b[4][4], " ", " ");
return ds;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.