public JFreeChart getChart()throws IOException
{
JFreeChart chart = ChartFactory.createLineChart(
new String(title.getBytes("iso_8859_1"),"gb2312"), // 图表标题
new String(vertical_label.getBytes("iso_8859_1"),"gb2312"), // 目录轴的显示标签
new String(horizontal_label.getBytes("iso_8859_1"),"gb2312"), // 数值轴的显示标签
this.getDataSet(), // 数据集
isVertical?PlotOrientation.VERTICAL:PlotOrientation.HORIZONTAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
false, // 是否生成工具
false // 是否生成URL链接
); // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...
StandardLegend legend = (StandardLegend) chart.getLegend();
legend.setDisplaySeriesShapes(true); chart.setBackgroundPaint(new Color(0xCC, 0xCC, 0xFF)); CategoryPlot plot = chart.getCategoryPlot(); // customise the domain axis...
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setVerticalCategoryLabels(true); // customise the range axis...
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
rangeAxis.setAutoRangeIncludesZero(true);
rangeAxis.setUpperMargin(0.20);
rangeAxis.setLabelAngle(Math.PI / 2.0); // customise the renderer...
LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();
renderer.setDrawShapes(true); renderer.setSeriesStroke(
0, new BasicStroke(2.0f,
BasicStroke.CAP_ROUND,
BasicStroke.JOIN_ROUND,
1.0f,
new float[] {10.0f, 6.0f},
0.0f)
);
renderer.setSeriesStroke(
1, new BasicStroke(2.0f,
BasicStroke.CAP_ROUND,
BasicStroke.JOIN_ROUND,
1.0f,
new float[] {6.0f, 6.0f},
0.0f)
);
renderer.setSeriesStroke(
2, new BasicStroke(2.0f,
BasicStroke.CAP_ROUND,
BasicStroke.JOIN_ROUND,
1.0f,
new float[] {2.0f, 6.0f},
0.0f)
); renderer.setItemLabelsVisible(true);
renderer.setItemLabelTextAnchor(TextAnchor.BOTTOM_CENTER);
renderer.setItemLabelAnchor(ItemLabelAnchor.OUTSIDE12); return chart;
}
/**
*
* @return
*/
public CategoryDataset getDataSet() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
for(int i=1;i<data.length;i++){
try{
dataset.addValue(
Integer.valueOf(data[i][0]),
new String(data[i][1].getBytes("iso_8859-1"),"gb2312"),
new String(data[i][2].getBytes("iso_8859-1"),"gb2312")
);
}catch(Exception e){
}
} return dataset;
}
{
JFreeChart chart = ChartFactory.createLineChart(
new String(title.getBytes("iso_8859_1"),"gb2312"), // 图表标题
new String(vertical_label.getBytes("iso_8859_1"),"gb2312"), // 目录轴的显示标签
new String(horizontal_label.getBytes("iso_8859_1"),"gb2312"), // 数值轴的显示标签
this.getDataSet(), // 数据集
isVertical?PlotOrientation.VERTICAL:PlotOrientation.HORIZONTAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
false, // 是否生成工具
false // 是否生成URL链接
); // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...
StandardLegend legend = (StandardLegend) chart.getLegend();
legend.setDisplaySeriesShapes(true); chart.setBackgroundPaint(new Color(0xCC, 0xCC, 0xFF)); CategoryPlot plot = chart.getCategoryPlot(); // customise the domain axis...
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setVerticalCategoryLabels(true); // customise the range axis...
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
rangeAxis.setAutoRangeIncludesZero(true);
rangeAxis.setUpperMargin(0.20);
rangeAxis.setLabelAngle(Math.PI / 2.0); // customise the renderer...
LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();
renderer.setDrawShapes(true); renderer.setSeriesStroke(
0, new BasicStroke(2.0f,
BasicStroke.CAP_ROUND,
BasicStroke.JOIN_ROUND,
1.0f,
new float[] {10.0f, 6.0f},
0.0f)
);
renderer.setSeriesStroke(
1, new BasicStroke(2.0f,
BasicStroke.CAP_ROUND,
BasicStroke.JOIN_ROUND,
1.0f,
new float[] {6.0f, 6.0f},
0.0f)
);
renderer.setSeriesStroke(
2, new BasicStroke(2.0f,
BasicStroke.CAP_ROUND,
BasicStroke.JOIN_ROUND,
1.0f,
new float[] {2.0f, 6.0f},
0.0f)
); renderer.setItemLabelsVisible(true);
renderer.setItemLabelTextAnchor(TextAnchor.BOTTOM_CENTER);
renderer.setItemLabelAnchor(ItemLabelAnchor.OUTSIDE12); return chart;
}
/**
*
* @return
*/
public CategoryDataset getDataSet() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
for(int i=1;i<data.length;i++){
try{
dataset.addValue(
Integer.valueOf(data[i][0]),
new String(data[i][1].getBytes("iso_8859-1"),"gb2312"),
new String(data[i][2].getBytes("iso_8859-1"),"gb2312")
);
}catch(Exception e){
}
} return dataset;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货