<a:chart type="line" value="#{chartView.lineModel1}" style="width:500px;height:300px" widgetVar="chart"/> <a:commandButton type="button" value="Export" icon="ui-icon-extlink" onclick="exportChart()"/> <a:dialog widgetVar="dlg" showEffect="fade" modal="true" header="Chart as an Image" resizable="false"> <a:outputPanel id="output" layout="block" style="width:500px;height:300px"/> </a:dialog> <script type="text/javascript"> function exportChart() { //export image $('#output').empty().append(PF('chart').exportAsImage()); //show the dialog PF('dlg').show(); } </script>
package org.primefaces.examples; import javax.annotation.PostConstruct; import java.io.Serializable; import javax.faces.bean.ManagedBean; import org.primefaces.model.chart.Axis; import org.primefaces.model.chart.AxisType; import org.primefaces.model.chart.LineChartModel; import org.primefaces.model.chart.LineChartSeries; @ManagedBean public class ChartView implements Serializable { private LineChartModel lineModel1; @PostConstruct public void init() { createLineModels(); } public LineChartModel getLineModel1() { return lineModel1; } private void createLineModels() { lineModel1 = initLinearModel(); lineModel1.setTitle("Linear Chart"); lineModel1.setLegendPosition("e"); Axis yAxis = lineModel1.getAxis(AxisType.Y); yAxis.setMin(0); yAxis.setMax(10); } private LineChartModel initLinearModel() { LineChartModel model = new LineChartModel(); LineChartSeries series1 = new LineChartSeries(); series1.setLabel("Series 1"); series1.set(1, 2); series1.set(2, 1); series1.set(3, 3); series1.set(4, 6); series1.set(5, 8); LineChartSeries series2 = new LineChartSeries(); series2.setLabel("Series 2"); series2.set(1, 6); series2.set(2, 3); series2.set(3, 2); series2.set(4, 7); series2.set(5, 9); model.addSeries(series1); model.addSeries(series2); return model; } }