81,095
社区成员
发帖
与我相关
我的任务
分享
public class BarChart {
public static String getBarChart(HttpSession session) throws Exception{
/*DefaultCategoryDataset data=new DefaultCategoryDataset(); 系统默认表格,无修改
data.addValue(100, "商场", "皮包");
data.addValue(1000, "商场", "衣服");
data.addValue(50, "商场", "墨镜");
data.addValue(500, "商场", "玩具");*/
double[][] db={{132,343,45},{867,56,464},{463,658,354}};
String[] row={"品牌","中档","大众"};
String[] column={"大润发","乐购","华联"};
CategoryDataset data=DatasetUtilities.createCategoryDataset(row, column, db);
JFreeChart chart=ChartFactory.createBarChart3D("商场销售", "商品", "销量",data,PlotOrientation.VERTICAL,true,true,true);
CategoryPlot plot=chart.getCategoryPlot();
/*// 设置网格背景颜色
plot.setBackgroundPaint(Color.white);
// 设置网格竖线颜色
plot.setDomainGridlinePaint(Color.pink);
// 设置网格横线颜色
plot.setRangeGridlinePaint(Color.pink);
*/
// 显示每个柱的数值,并修改该数值的字体属性
BarRenderer3D renderer=new BarRenderer3D();
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setBaseItemLabelsVisible(true);
renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));
renderer.setItemLabelAnchorOffset(10D);
/*// 设置平行柱的之间距离
renderer.setItemMargin(0.4);
*/
plot.setRenderer(renderer);
String name=ServletUtilities.saveChartAsPNG(chart, 700, 500, null, session);
return name;
}
}
<%String barname=BarChart.getBarChart(session); %>
<img src="DisplayChart?filename=<%=barname%>">
<servlet>
<servlet-name>DisplayChart</servlet-name>
<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DisplayChart</servlet-name>
<url-pattern>/DisplayChart</url-pattern>
</servlet-mapping>