/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.test1; import java.awt.Font; import java.io.IOException; import java.io.OutputStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.axis.CategoryAxis; import org.jfree.chart.axis.NumberAxis; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.CategoryDataset; import org.jfree.data.category.DefaultCategoryDataset; /** * * @author Administrator */ public class BarChartServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("image/jpeg"); OutputStream out = response.getOutputStream(); CategoryDataset ds = getDataSet(); JFreeChart chart = ChartFactory.createBarChart3D( "单站日降雨量", //图表标题 "", //X轴的显示标签 "降雨量(mm)", //Y轴的显示标签 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)); /*******这句代码解决了标题汉字乱码的问题********/ chart.getTitle().setFont(new Font("宋体", Font.PLAIN, 12)); try { ChartUtilities.writeChartAsJPEG(out, 0.5f, chart, 1200, 800, null); } finally { try { out.close(); } catch (Exception ex) { ex.printStackTrace(); } } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } private CategoryDataset getDataSet() { DefaultCategoryDataset ds = new DefaultCategoryDataset(); ds.addValue(80, "", "2月21日"); ds.addValue(100, "", "2月22日"); ds.addValue(60, "", "2月23日"); ds.addValue(110, "", "2月24日"); ds.addValue(90, "", "2月25日"); ds.addValue(120, "", "2月26日"); ds.addValue(50, "", "2月27日"); ds.addValue(70, "", "2月28日"); ds.addValue(80, "", "3月1日"); ds.addValue(40, "", "3月2日"); ds.addValue(60, "", "3月3日"); ds.addValue(90, "", "3月4日"); ds.addValue(500, "", "3月5日"); ds.addValue(500, "", "3月6日"); ds.addValue(500, "", "3月7日"); return ds; } }
最近下载更多
hefei100 LV2
2019年7月16日
NextOne LV2
2018年8月25日
364550246 LV15
2018年6月10日
a569497437 LV2
2018年5月7日
jiemozi LV2
2018年3月5日
15996932533 LV1
2018年2月22日
puhuiling LV9
2017年12月23日
sunnyH LV1
2017年12月8日
wxsuperwx LV17
2017年12月2日
lintaotao LV3
2017年9月13日
最近浏览更多
cz8857216 LV4
8月7日
fesfefe LV13
2023年11月1日
189676630 LV4
2023年4月19日
tangjj7260 LV18
2021年10月26日
嘉琪拉 LV2
2021年8月31日
heshiyang LV1
2021年7月11日
我寄愁心 LV8
2021年6月22日
zhaojialiang LV7
2021年5月14日
江权盛 LV2
2020年12月28日
chenghao4u LV8
2020年11月25日