/** * Returns a panel containing the content for the demo. This method is used across all the * individual demo applications to allow aggregation into a single "umbrella" demo * (OrsonChartsDemo). * * @return A panel containing the content for the demo. */ public static JPanel createDemoPanel() { DemoPanel content = new CustomDemoPanel(new BorderLayout()); content.setPreferredSize(OrsonChartsDemo.DEFAULT_CONTENT_SIZE); CategoryDataset3D dataset = createDataset(); Chart3D chart = Chart3DFactory.createAreaChart( "AxisRangeDemo1", "A test for rendering with a restricted value range", dataset, "Row", "Category", "Value"); chart.setChartBoxColor(new Color(255, 255, 255, 128)); chart.setViewPoint(ViewPoint3D.createAboveLeftViewPoint(40)); CategoryPlot3D plot = (CategoryPlot3D) chart.getPlot(); plot.getValueAxis().setRange(-500, 500); plot.getRowAxis().setVisible(false); AreaRenderer3D renderer = (AreaRenderer3D) plot.getRenderer(); renderer.setItemLabelGenerator( new StandardCategoryItemLabelGenerator(StandardCategoryItemLabelGenerator.VALUE_TEMPLATE)); Chart3DPanel chartPanel = new Chart3DPanel(chart); content.setChartPanel(chartPanel); content.add(new DisplayPanel3D(chartPanel)); chartPanel.zoomToFit(OrsonChartsDemo.DEFAULT_CONTENT_SIZE); return content; }
@Override public void stateChanged(ChangeEvent e) { Chart3D chart = (Chart3D) getChartPanel().getDrawable(); CategoryPlot3D plot = (CategoryPlot3D) chart.getPlot(); ValueAxis3D yAxis = plot.getValueAxis(); int min = this.slider1.getValue(); int max = this.slider2.getValue(); if (min != max) { yAxis.setRange(min, max); } }