jfreechart形成各种图Word格式文档下载.docx

上传人:b****4 文档编号:16540228 上传时间:2022-11-24 格式:DOCX 页数:24 大小:21.88KB
下载 相关 举报
jfreechart形成各种图Word格式文档下载.docx_第1页
第1页 / 共24页
jfreechart形成各种图Word格式文档下载.docx_第2页
第2页 / 共24页
jfreechart形成各种图Word格式文档下载.docx_第3页
第3页 / 共24页
jfreechart形成各种图Word格式文档下载.docx_第4页
第4页 / 共24页
jfreechart形成各种图Word格式文档下载.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

jfreechart形成各种图Word格式文档下载.docx

《jfreechart形成各种图Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《jfreechart形成各种图Word格式文档下载.docx(24页珍藏版)》请在冰豆网上搜索。

jfreechart形成各种图Word格式文档下载.docx

org.jfree.data.category.CategoryDataset;

org.jfree.data.general.DatasetUtilities;

org.jfree.data.general.DefaultPieDataset;

org.jfree.data.general.PieDataset;

//jar

//jfreechart-1.0.10.jar 

(能解决新版本的乱码问题)

//jcommon-1.0.13.jar

/***/

/**

*实际取色的时候一定要16位的,这样比较准确

*

*@authornew

*/

public 

class 

CreateChartServiceImpl{

private 

static 

final 

StringCHART_PATH="

E:

/test/"

;

void 

main(String[]args){

//TODOAuto-generatedmethodstub

CreateChartServiceImplpm=new 

CreateChartServiceImpl();

//生成饼状图

//pm.makePieChart();

//生成单组柱状图

//pm.makeBarChart();

//生成多组柱状图

//pm.makeBarGroupChart();

//生成堆积柱状图

//pm.makeStackedBarChart();

//生成折线图

pm.makeLineAndShapeChart();

}

*生成折线图

makeLineAndShapeChart(){

double[][]data=new 

double[][]{

{672,766,223,540,126 

},

{325,521,210,340,106 

},

{332,256,523,240,526 

}};

String[]rowKeys={"

苹果"

"

梨子"

葡萄"

};

String[]columnKeys={"

北京"

上海"

广州"

成都"

深圳"

CategoryDatasetdataset=getBarData(data,rowKeys,columnKeys);

createTimeXYChar("

折线图"

x轴"

y轴"

dataset,"

lineAndShap.png"

);

*生成分组的柱状图

makeBarGroupChart(){

double[][]{{672,766,223,540,126 

},{332,256,523,240,526 

createBarChart(dataset,"

x坐标"

y坐标"

柱状图"

barGroup.png"

*生成柱状图

makeBarChart(){

bar.png"

*生成堆栈柱状图

makeStackedBarChart(){

double[][]{{0.21,0.66,0.23,0.40,0.26 

{0.25,0.21,0.10,0.40,0.16 

createStackedBarChart(dataset,"

stsckedBar.png"

*生成饼状图

makePieChart(){

double[]data={9,91 

String[]keys={"

失败率"

成功率"

createValidityComparePimChar(getDataPieSetByUtil(data,keys),"

饼状图"

"

pie2.png"

keys);

//柱状图,折线图数据集

CategoryDatasetgetBarData(double[][]data,String[]rowKeys,

String[]columnKeys){

return 

DatasetUtilities

.createCategoryDataset(rowKeys,columnKeys,data);

//饼状图数据集

PieDatasetgetDataPieSetByUtil(double[]data,

String[]datadescription){

if 

(data!

=null 

&

datadescription!

=null){

(data.length==datadescription.length){

DefaultPieDatasetdataset=new 

DefaultPieDataset();

for 

(int 

i=0;

i<

data.length;

i++){

dataset.setValue(datadescription[i],data[i]);

dataset;

null;

*柱状图

*@paramdataset

数据集

*@paramxName

x轴的说明(如种类,时间等)

*@paramyName

y轴的说明(如速度,时间等)

*@paramchartTitle

图标题

*@paramcharName

生成图片的名字

*@return

StringcreateBarChart(CategoryDatasetdataset,StringxName,

StringyName,StringchartTitle,StringcharName){

JFreeChartchart=ChartFactory.createBarChart(chartTitle,//图表标题

xName,//目录轴的显示标签

yName,//数值轴的显示标签

dataset,//数据集

PlotOrientation.VERTICAL,//图表方向:

水平、垂直

true,//是否显示图例(对于简单的柱状图必须是false)

false,//是否生成工具

false 

//是否生成URL链接

FontlabelFont=new 

Font("

SansSerif"

Font.TRUETYPE_FONT,12);

/**//*

*VALUE_TEXT_ANTIALIAS_OFF表示将文字的抗锯齿关闭,

*使用的关闭抗锯齿后,字体尽量选择12到14号的宋体字,这样文字最清晰好看

//chart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);

chart.setTextAntiAlias(false);

chart.setBackgroundPaint(Color.white);

//createplot

CategoryPlotplot=chart.getCategoryPlot();

//设置横虚线可见

plot.setRangeGridlinesVisible(true);

//虚线色彩

plot.setRangeGridlinePaint(Color.gray);

//数据轴精度

NumberAxisvn=(NumberAxis)plot.getRangeAxis();

//vn.setAutoRangeIncludesZero(true);

DecimalFormatdf=new 

DecimalFormat("

#0.00"

vn.setNumberFormatOverride(df);

//数据轴数据标签的显示格式

//x轴设置

CategoryAxisdomainAxis=plot.getDomainAxis();

domainAxis.setLabelFont(labelFont);

//轴标题

domainAxis.setTickLabelFont(labelFont);

//轴数值

//Lable(Math.PI/3.0)度倾斜

//domainAxis.setCategoryLabelPositions(CategoryLabelPositions

//.createUpRotationLabelPositions(Math.PI/3.0));

domainAxis.setMaximumCategoryLabelWidthRatio(0.6f);

//横轴上的Lable是否完整显示

//设置距离图片左端距离

domainAxis.setLowerMargin(0.1);

//设置距离图片右端距离

domainAxis.setUpperMargin(0.1);

//设置columnKey是否间隔显示

//domainAxis.setSkipCategoryLabelsToFit(true);

plot.setDomainAxis(domainAxis);

//设置柱图背景色(注意,系统取色的时候要使用16位的模式来查看颜色编码,这样比较准确)

plot.setBackgroundPaint(new 

Color(255,255,204));

//y轴设置

ValueAxisrangeAxis=plot.getRangeAxis();

rangeAxis.setLabelFont(labelFont);

rangeAxis.setTickLabelFont(labelFont);

//设置最高的一个Item与图片顶端的距离

rangeAxis.setUpperMargin(0.15);

//设置最低的一个Item与图片底端的距离

rangeAxis.setLowerMargin(0.15);

plot.setRangeAxis(rangeAxis);

BarRendererrenderer=new 

BarRenderer();

//设置柱子宽度

renderer.setMaximumBarWidth(0.05);

//设置柱子高度

renderer.setMinimumBarLength(0.2);

//设置柱子边框颜色

renderer.setBaseOutlinePaint(Color.BLACK);

//设置柱子边框可见

renderer.setDrawBarOutline(true);

////设置柱的颜色

renderer.setSeriesPaint(0,new 

Color(204,255,255));

renderer.setSeriesPaint(1,new 

Color(153,204,255));

renderer.setSeriesPaint(2,new 

Color(51,204,204));

//设置每个地区所包含的平行柱的之间距离

renderer.setItemMargin(0.0);

//显示每个柱的数值,并修改该数值的字体属性

renderer.setIncludeBaseInRange(true);

renderer

.setBaseItemLabelGenerator(new 

StandardCategoryItemLabelGenerator());

renderer.setBaseItemLabelsVisible(true);

plot.setRenderer(renderer);

//设置柱的透明度

plot.setForegroundAlpha(1.0f);

FileOutputStreamfos_jpg=null;

try 

{

isChartPathExist(CHART_PATH);

StringchartName=CHART_PATH+charName;

fos_jpg=new 

FileOutputStream(chartName);

ChartUtilities.writeChartAsPNG(fos_jpg,chart,500,500,true,10);

chartName;

}catch 

(Exceptione){

e.printStackTrace();

}finally 

fos_jpg.close();

*横向图

*@paramdataset

StringcreateHorizontalBarChart(CategoryDatasetdataset,

StringxName,StringyName,StringchartTitle,StringcharName){

PlotOrientation.VERTICAL,//图表

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1