-
FEATURED COMPONENTS
First time here? Check out the FAQ!
I want to set my own colors for each series in my chart. How do I do that?
I'm using zk 3.6.2
zul
<window apply="org.zkoss.test.ChartCtrl"> <chart id="mychart" title="Pie Chart Demo" width="500" height="250" type="pie" fgAlpha="128"> </chart> </window>
ChartCtrl
package org.zkoss.test; import java.awt.Color; import java.io.Serializable; import org.jfree.chart.plot.PiePlot; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zkex.zul.impl.JFreeChartEngine; import org.zkoss.zul.Chart; import org.zkoss.zul.PieModel; import org.zkoss.zul.SimplePieModel; public class ChartCtrl extends GenericForwardComposer { Chart mychart; public void doAfterCompose(Component win) throws Exception { super.doAfterCompose(win); mychart.setEngine(new MyEngine()); PieModel model = new SimplePieModel(); model.setValue("C/C++", new Double(21.2)); model.setValue("VB", new Double(10.2)); model.setValue("Java", new Double(40.4)); model.setValue("PHP", new Double(28.2)); model.setValue("Perl", new Double(15.2)); mychart.setEngine(new MyEngine()); mychart.setModel(model); } public class MyEngine extends JFreeChartEngine implements Serializable { @Override public byte[] drawChart(Object data) { return super.drawChart(data); } public boolean prepareJFreeChart(org.jfree.chart.JFreeChart jfchart, Chart chart) { PiePlot plot = (PiePlot) jfchart.getPlot(); Color[] colors = { new Color(35, 122, 54), new Color(100, 210, 17), new Color(254, 128, 15), new Color(222, 44, 9), new Color(64, 49, 23) }; for (int i = 0; i < 5; i++) { plot.setSectionPaint(i, colors<i >); } return false; } } }
Asked: 2010-08-25 15:55:25 +0800
Seen: 1,007 times
Last updated: Jan 27 '11