/** * Transforms the currently selected screen point to a real point. * * @param scale the scale * @return the currently selected real point */ public double[] toRealPoint(int scale) { if (mChart instanceof XYChart) { XYChart chart = (XYChart) mChart; return chart.toRealPoint(oldX, oldY, scale); } return null; }
/** * Returns a chart instance based on the provided type. * * @param type the chart type * @return an instance of a chart implementation * @throws IllegalAccessException * @throws InstantiationException */ private XYChart getXYChart(String type) throws IllegalAccessException, InstantiationException { XYChart chart = null; int length = xyChartTypes.length; for (int i = 0; i < length && chart == null; i++) { XYChart newChart = (XYChart) xyChartTypes[i].newInstance(); if (type.equals(newChart.getChartType())) { chart = newChart; } } return chart; }
public XYLineChartFactory() { chart = (XYChart) RaphaelFactory.get(); dataTable = chart.getDataTable(); colorMap = RaphaelFactory.getColorMap(); chartSet = chart.new Set(); chartStack = new Stack<RaphaelObject>(); AxisFactory axisFactory = new AxisFactory(); xAxis = axisFactory.getXAxis(); yAxis = axisFactory.getYAxis(); axisWidth = AxisLabelHelper.getXAxisLength(); axisHeight = AxisLabelHelper.getYAxisLength(); plotSet = chart.new Set(); pointDataTable = new HashMap<String, List<PointData>>(); pushAxisToChart(); }
/** * Sets the series and the renderer. * * @param dataset the series dataset * @param renderer the series renderer */ protected void setDatasetRenderer( XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer) { super.setDatasetRenderer(dataset, renderer); pointsChart = new ScatterChart(dataset, renderer); }
// TODO: javadoc protected void setDatasetRenderer( XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer) { super.setDatasetRenderer(dataset, renderer); size = renderer.getPointSize(); }
// Main code for creating charts public void createChart(ChartViewer viewer, int chartIndex) { // The data for the bar chart double[] data = {450, 560, 630, 800, 1100, 1350, 1600, 1950, 2300, 2700}; // The labels for the bar chart String[] labels = { "1996", "1997", "1998", "1999", "2000", "2001", "2002", "2003", "2004", "2005" }; // Create a XYChart object of size 600 x 360 pixels XYChart c = new XYChart(600, 360); // Add a title to the chart using 18pt Times Bold Italic font c.addTitle("Annual Revenue for Star Tech", "Times New Roman Bold Italic", 18); // Set the plotarea at (60, 40) and of size 500 x 280 pixels. Use a vertical gradient color // from light blue (eeeeff) to deep blue (0000cc) as background. Set border and grid lines // to white (ffffff). c.setPlotArea( 60, 40, 500, 280, c.linearGradientColor(60, 40, 60, 280, 0xeeeeff, 0x0000cc), -1, 0xffffff, 0xffffff); // Add a multi-color bar chart layer using the supplied data. Use soft lighting effect with // light direction from left. c.addBarLayer3(data).setBorderColor(Chart.Transparent, Chart.softLighting(Chart.Left)); // Set x axis labels using the given labels c.xAxis().setLabels(labels); // Draw the ticks between label positions (instead of at label positions) c.xAxis().setTickOffset(0.5); // Add a title to the y axis with 10pt Arial Bold font c.yAxis().setTitle("USD (millions)", "Arial Bold", 10); // Set axis label style to 8pt Arial Bold c.xAxis().setLabelStyle("Arial Bold", 8); c.yAxis().setLabelStyle("Arial Bold", 8); // Set axis line width to 2 pixels c.xAxis().setWidth(2); c.yAxis().setWidth(2); // Output the chart viewer.setChart(c); // include tool tip for the chart viewer.setImageMap(c.getHTMLImageMap("clickable", "", "title='Year {xLabel}: US$ {value}M'")); }