JFreeChart深入介绍

您所在的位置:网站首页 jfreechart设置纵坐标 JFreeChart深入介绍

JFreeChart深入介绍

#JFreeChart深入介绍| 来源: 网络整理| 查看: 265

由于业务数据方面以及表图显示视觉方面考虑,Jfreechart中需要2个或者更多的坐标,在添加坐标后会出现几个问题1、两个坐标的数据会以前后方式显示,当两个坐标的数据均以柱状图显示时会遮挡,而且可能两个坐标的数据量不一致导致柱状大小不一。解决方案:分别扩充两坐标的数据集,添加空数据,使得两坐标的数据相同,而空的数据无法遮挡其他数据。

2、当采用1的方案后会出现图例多出好几个的问题解决方案:重载plot,重新定义getLegendItems。自定义图例。

3、当采用2的方案后,图例只能显示在一个地方,当需求需要把图例分别显示的时候解决方案:添加多一个plot,重新定义plot跟plot1的getLegendItems。

4、当采用3的方案后,图例的颜色会重复,系统默认均为品红、蓝、绿、blablabla的顺序赋予颜色解决方案:在getLegendItems中定义图例同时改变其颜色。

以下是参考代码:public static String cateoryCdataset(int width, int height,String sqlexeproc1,String sqlexeproc2,String categoryname1,String categoryname2,String categoryvalue1,String categoryvalue2,String title,String leftword,String rightword,String buttonword) throws InstantiationException, Exception, Throwable{ String filename = null; CategoryDataset dataset1=getcategoryDataSet(sqlexeproc1,categoryname1,categoryname2,categoryvalue1); CategoryDataset dataset2=getcategoryDataSet(sqlexeproc2,categoryname1,categoryname2,categoryvalue2); /*int dsc1 = dataset1.getRowCount(); int dsc2 = dataset2.getRowCount();*/ //JFreeChart chart = ChartFactory.createBarChart3D("hello", leftword, buttonword,dataset, PlotOrientation.VERTICAL, true, true, false); //JFreeChart chart = ChartFactory.createBarChart("hello", buttonword, leftword,dataset1, PlotOrientation.VERTICAL, true, true, false); //CategoryPlot plot = (CategoryPlot) chart.getPlot(); CategoryAxis domainAxis = new CategoryAxis(buttonword); NumberAxis rangeAxis = new NumberAxis(leftword); BarRenderer renderer1 = new BarRenderer(); CategoryPlot plot1 = new CategoryPlot(dataset1,domainAxis,rangeAxis,renderer1){ public LegendItemCollection getLegendItems() { /*CategoryDataset data = getDataset(); if (data != null) { CategoryItemRenderer r = getRenderer(); if (r != null) { for(int x1=0;x1



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3