1 48 49 50 package org.krysalis.jcharts.test; 51 52 53 import org.krysalis.jcharts.chartData.*; 54 import org.krysalis.jcharts.chartData.interfaces.IAxisDataSeries; 55 import org.krysalis.jcharts.properties.*; 56 import org.krysalis.jcharts.properties.util.ChartStroke; 57 import org.krysalis.jcharts.types.ChartType; 58 import org.krysalis.jcharts.axisChart.customRenderers.axisValue.renderers.*; 59 import org.krysalis.jcharts.axisChart.AxisChart; 60 61 import java.awt.*; 62 63 64 69 public class ClusteredBarTestDriver extends AxisChartTestBase 70 { 71 boolean supportsImageMap() 72 { 73 return true; 74 } 75 76 77 81 DataSeries getDataSeries() throws ChartDataException 82 { 83 ClusteredBarChartProperties clusteredBarChartProperties; 84 DataSeries dataSeries; 85 AxisChartDataSet axisChartDataSet; 86 87 int dataSize = ( int ) TestDataGenerator.getRandomNumber( 1, 10 ); 88 int numberOfDataSets = ( int ) TestDataGenerator.getRandomNumber( 1, 4 ); 89 90 91 dataSeries = super.createDataSeries( dataSize ); 92 93 94 clusteredBarChartProperties = new ClusteredBarChartProperties(); 95 96 97 axisChartDataSet = super.createAxisChartDataSet( ChartType.BAR_CLUSTERED, 98 clusteredBarChartProperties, 99 numberOfDataSets, 100 dataSize, 101 -5000, 102 5000 ); 103 104 dataSeries.addIAxisPlotDataSet( axisChartDataSet ); 105 106 return dataSeries; 107 } 108 109 110 111 112 118 public static void main( String [] args ) throws PropertyException, ChartDataException 119 { 120 ClusteredBarChartProperties clusteredBarChartProperties = new ClusteredBarChartProperties(); 121 122 125 ValueLabelRenderer valueLabelRenderer = new ValueLabelRenderer( false, false, false, 0 ); 126 valueLabelRenderer.setValueLabelPosition( ValueLabelPosition.ON_TOP ); 127 valueLabelRenderer.useVerticalLabels( false ); 128 clusteredBarChartProperties.addPostRenderEventListener( valueLabelRenderer ); 129 130 131 132 double[][] data = {{280, 0, -150, 90}, {80, 216, -10, 30} }; 133 Paint[] paints = {Color.yellow, Color.blue }; 134 String [] legendLabels = {"Test Legend Label", "other data"}; 135 AxisChartDataSet axisChartDataSet = new AxisChartDataSet( data, legendLabels, paints, ChartType.BAR_CLUSTERED, clusteredBarChartProperties ); 136 137 String [] axisLabels = {"1900", "1950", "2000", "2050"}; 138 IAxisDataSeries dataSeries = new DataSeries( axisLabels, "Cookies", "Years", null ); 139 dataSeries.addIAxisPlotDataSet( axisChartDataSet ); 140 141 142 ChartProperties chartProperties = new ChartProperties(); 143 AxisProperties axisProperties = new AxisProperties( false ); 144 145 axisProperties.getYAxisProperties().setShowGridLines( AxisTypeProperties.GRID_LINES_NONE ); 146 axisProperties.getYAxisProperties().setAxisStroke( new ChartStroke( new BasicStroke( 1.5f ), Color.red ) ); 147 148 149 DataAxisProperties yAxis = (DataAxisProperties) axisProperties.getYAxisProperties(); 150 yAxis.setRoundToNearest( 1 ); 151 153 LegendProperties legendProperties = null; 155 AxisChart axisChart = new AxisChart( dataSeries, chartProperties, axisProperties, legendProperties, 500, 400 ); 156 157 ChartTestDriver.exportImage( axisChart, "ClusteredBarChartTest.png" ); 158 } 159 160 161 162 } 163 | Popular Tags |