import com.imsl.chart.*; import java.awt.Color; public class ErrorBarEx1 extends javax.swing.JApplet { private JPanelChart panel; public void init() { Chart chart = new Chart(this); panel = new JPanelChart(chart); getContentPane().add(panel, java.awt.BorderLayout.CENTER); setup(chart); } static private void setup(Chart chart) { AxisXY axis = new AxisXY(chart); int npoints = 20; double dx = .5 * Math.PI/(npoints - 1); double x[] = new double[npoints]; double y1[] = new double[npoints]; double y2[] = new double[npoints]; double y3[] = new double[npoints]; double low1[] = new double[npoints]; double low2[] = new double[npoints]; double low3[] = new double[npoints]; double hi1[] = new double[npoints]; double hi2[] = new double[npoints]; double hi3[] = new double[npoints]; // Generate some data for (int i = 0; i < npoints; i++){ x[i] = i * dx; y1[i] = Math.sin(x[i]); low1[i] = x[i] - .05; hi1[i] = x[i] + .05; y2[i] = Math.cos(x[i]); low2[i] = y2[i] - .07; hi2[i] = y2[i] + .03; y3[i] = Math.atan(x[i]); low3[i] = y3[i] - .01; hi3[i] = y3[i] + .04; } Data d1 = new Data(axis, x, y1); Data d2 = new Data(axis, x, y2); Data d3 = new Data(axis, x, y3); // Set Data Type to Marker d1.setDataType(d1.DATA_TYPE_MARKER); d2.setDataType(d2.DATA_TYPE_MARKER); d3.setDataType(d3.DATA_TYPE_MARKER); // Set Marker Types d1.setMarkerType(Data.MARKER_TYPE_CIRCLE_PLUS); d2.setMarkerType(Data.MARKER_TYPE_HOLLOW_SQUARE); d3.setMarkerType(Data.MARKER_TYPE_ASTERISK); // Set Marker Colors d1.setMarkerColor(Color.red); d2.setMarkerColor(Color.black); d3.setMarkerColor(Color.blue); // Create an instances of ErrorBars ErrorBar ebar1 = new ErrorBar(axis, x, y1, low1, hi1); ErrorBar ebar2 = new ErrorBar(axis, x, y2, low2, hi2); ErrorBar ebar3 = new ErrorBar(axis, x, y3, low3, hi3); // Set Data Type to Error_X ebar1.setDataType(ebar1.DATA_TYPE_ERROR_X); // Set Data Type to Error_Y ebar2.setDataType(ebar2.DATA_TYPE_ERROR_Y); ebar3.setDataType(ebar3.DATA_TYPE_ERROR_Y); // Set Marker Colors ebar1.setMarkerColor(Color.red); ebar2.setMarkerColor(Color.black); ebar3.setMarkerColor(Color.blue); // Set Data Labels d1.setTitle("Sine"); d2.setTitle("Cosine"); d3.setTitle("ArcTangent"); // Add a Legend Legend legend = chart.getLegend(); legend.setTitle(new Text("Legend")); chart.addLegendItem(0, chart); legend.setPaint(true); // Set the Chart Title chart.getChartTitle().setTitle("ErrorBar Plot"); } public static void main(String argv[]) { JFrameChart frame = new JFrameChart(); ErrorBarEx1.setup(frame.getChart()); frame.show(); } }