我用jfreechart写了一个柱状图的小程序,问题有两个:
1,同一个Category中的两个柱子相隔的太远,请问如何解决
2,如何把同一个Category中的两个柱子用不同颜色显示。
这两个小问题对达人来说,小菜,但是我捣鼓了好半天,谢谢了我觉得的问题代码如下:
protected JFreeChart createChart(CategoryDataset categorydataset)
{
///*
JFreeChart jfreechart = ChartFactory.createBarChart3D(charttitle, x_name, y_name, categorydataset, PlotOrientation.VERTICAL, false, true, false);//ftf
CategoryPlot categoryplot = (CategoryPlot)jfreechart.getPlot();
CustomBarRenderer3D custombarrenderer3d = new CustomBarRenderer3D();
custombarrenderer3d.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
custombarrenderer3d.setBaseItemLabelsVisible(true);
custombarrenderer3d.setItemLabelAnchorOffset(10D);
custombarrenderer3d.setPositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_CENTER));
categoryplot.setRenderer(custombarrenderer3d);
ValueMarker valueer = new ValueMarker(0.69999999999999996D, new Color(200, 200, 255), new BasicStroke(0.10F), new Color(200, 200, 255), new BasicStroke(0.10F), 0.1F);
categoryplot.addRangeMarker(valueer, Layer.BACKGROUND);
custombarrenderer3d.setItemLabelsVisible(true);
custombarrenderer3d.setMaximumBarWidth(0.0050000000000000003D);
NumberAxis numberaxis = (NumberAxis)categoryplot.getRangeAxis();
//numberaxis.setNumberFormatOverride(NumberFormat.getPercentInstance());
numberaxis.setNumberFormatOverride(NumberFormat.getNumberInstance());
numberaxis.setUpperMargin(0.10000000000000001D);
}
1,同一个Category中的两个柱子相隔的太远,请问如何解决
2,如何把同一个Category中的两个柱子用不同颜色显示。
这两个小问题对达人来说,小菜,但是我捣鼓了好半天,谢谢了我觉得的问题代码如下:
protected JFreeChart createChart(CategoryDataset categorydataset)
{
///*
JFreeChart jfreechart = ChartFactory.createBarChart3D(charttitle, x_name, y_name, categorydataset, PlotOrientation.VERTICAL, false, true, false);//ftf
CategoryPlot categoryplot = (CategoryPlot)jfreechart.getPlot();
CustomBarRenderer3D custombarrenderer3d = new CustomBarRenderer3D();
custombarrenderer3d.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
custombarrenderer3d.setBaseItemLabelsVisible(true);
custombarrenderer3d.setItemLabelAnchorOffset(10D);
custombarrenderer3d.setPositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_CENTER));
categoryplot.setRenderer(custombarrenderer3d);
ValueMarker valueer = new ValueMarker(0.69999999999999996D, new Color(200, 200, 255), new BasicStroke(0.10F), new Color(200, 200, 255), new BasicStroke(0.10F), 0.1F);
categoryplot.addRangeMarker(valueer, Layer.BACKGROUND);
custombarrenderer3d.setItemLabelsVisible(true);
custombarrenderer3d.setMaximumBarWidth(0.0050000000000000003D);
NumberAxis numberaxis = (NumberAxis)categoryplot.getRangeAxis();
//numberaxis.setNumberFormatOverride(NumberFormat.getPercentInstance());
numberaxis.setNumberFormatOverride(NumberFormat.getNumberInstance());
numberaxis.setUpperMargin(0.10000000000000001D);
}
解决方案 »
- 运行时出现了错误,帮忙看下为什么
- 缩放panel面版,及组件问题
- 小弟不才,想向各位请教线程中sleep()方法
- ArrayList和HashMap都有clone方法,是不是clone方法无法完全复制一个结构???
- (●●●●,高分)在Applet中,关于Button与JButton的用法????见内容(在线等待)
- 关于JAVA与C#的大讨论???
- jdbc 初学者提问
- about java.swing.JApplet的IE问题
- //java去掉字符串两端的空格;
- Java String 类型 的拆分
- 遇到这样一个奇怪的问题,myeclipse里面不能保持修改过的文件,报编码问题
- 求重组颠倒图像算法,万分感谢!
CategoryItemRenderer r= plot.getRenderer();
r.setSeriesPaint(0, Color.GREEN);变色
CategoryPlot plot = (CategoryPlot)chart.getPlot();
CategoryItemRenderer r= plot.getRenderer();
r.setSeriesPaint(0, Color.GREEN);空隙
TimeSeries spring = new TimeSeries("萝卜" , Hour.class);
spring.add(new Hour(10, 1,1,2006), 3400);
spring.add(new Hour(12, 1,1,2006), 1400);
spring.add(new Hour(13, 1,1,2006), 2400);
spring.add(new Hour(14, 1,1,2006), 4400);
TimeSeries lightWeight = new TimeSeries("白菜" , Hour.class);
lightWeight.add(new Hour(10, 1,1,2006), 2800);
lightWeight.add(new Hour(12, 1,1,2006), 3700);
lightWeight.add(new Hour(13, 1,1,2006), 2600);
lightWeight.add(new Hour(14, 1,1,2006), 2100);
时间轴Hour
public Hour(java.util.Date time,
java.util.TimeZone zone)
这个我研究过,你可以看一下,常用的设置都也得很详细