Java Code Examples for org.jfree.chart.ChartFactory#createScatterPlot()
The following examples show how to use
org.jfree.chart.ChartFactory#createScatterPlot() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ValueAxisTest.java From buffer_bci with GNU General Public License v3.0 | 6 votes |
/** * Tests the the lower and upper margin settings produce the expected * results. */ @Test public void testAxisMargins() { XYSeries series = new XYSeries("S1"); series.add(100.0, 1.1); series.add(200.0, 2.2); XYSeriesCollection dataset = new XYSeriesCollection(series); dataset.setIntervalWidth(0.0); JFreeChart chart = ChartFactory.createScatterPlot("Title", "X", "Y", dataset); ValueAxis domainAxis = ((XYPlot) chart.getPlot()).getDomainAxis(); Range r = domainAxis.getRange(); assertEquals(110.0, r.getLength(), EPSILON); domainAxis.setLowerMargin(0.10); domainAxis.setUpperMargin(0.10); r = domainAxis.getRange(); assertEquals(120.0, r.getLength(), EPSILON); }
Example 2
Source File: LogAxisTest.java From buffer_bci with GNU General Public License v3.0 | 6 votes |
/** * Checks that the auto-range for the range axis on an XYPlot is * working as expected. */ @Test public void testXYAutoRange2() { XYSeries series = new XYSeries("Series 1"); series.add(1.0, 1.0); series.add(2.0, 2.0); series.add(3.0, 3.0); XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(series); JFreeChart chart = ChartFactory.createScatterPlot("Test", "X", "Y", dataset); XYPlot plot = (XYPlot) chart.getPlot(); LogAxis axis = new LogAxis("Log(Y)"); plot.setRangeAxis(axis); assertEquals(0.9465508226401592, axis.getLowerBound(), EPSILON); assertEquals(3.1694019256486126, axis.getUpperBound(), EPSILON); }
Example 3
Source File: LogAxisTests.java From astor with GNU General Public License v2.0 | 6 votes |
/** * Checks that the auto-range for the domain axis on an XYPlot is * working as expected. */ public void testXYAutoRange1() { XYSeries series = new XYSeries("Series 1"); series.add(1.0, 1.0); series.add(2.0, 2.0); series.add(3.0, 3.0); XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(series); JFreeChart chart = ChartFactory.createScatterPlot("Test", "X", "Y", dataset, false); XYPlot plot = (XYPlot) chart.getPlot(); LogAxis axis = new LogAxis("Log(Y)"); plot.setRangeAxis(axis); assertEquals(0.9465508226401592, axis.getLowerBound(), EPSILON); assertEquals(3.1694019256486126, axis.getUpperBound(), EPSILON); }
Example 4
Source File: ScatterInterpretation.java From Benchmark with GNU General Public License v2.0 | 6 votes |
private JFreeChart display(String title, int height ) { XYSeriesCollection dataset = new XYSeriesCollection(); chart = ChartFactory.createScatterPlot(title, "False Positive Rate", "True Positive Rate", dataset, PlotOrientation.VERTICAL, true, true, false); theme.apply(chart); XYPlot xyplot = chart.getXYPlot(); initializePlot( xyplot ); makePointer( xyplot, 7, 93, " Ideal vulnerability detection", TextAnchor.TOP_LEFT, 45 ); makePointer( xyplot, 10, 10, " Tool reports nothing is vulnerable", TextAnchor.TOP_LEFT, 45 ); // makePointer( xyplot, 70, 30, " Worse than random", TextAnchor.TOP_LEFT, 45 ); makePointer( xyplot, 90, 90, "Tool reports everything is vulnerable ", TextAnchor.TOP_LEFT, 45); makePointer( xyplot, 50, 50, "Tool reports vulnerabilities randomly ", TextAnchor.TOP_LEFT, 45); makeOval( xyplot, 0, 3, 20, 10, 45 ); makeOval( xyplot, 42, 3, 20, 10, 45 ); makeOval( xyplot, 84, 3, 20, 10, 45 ); makeOval( xyplot, 43, 64, 20, 10, 45 ); return chart; }
Example 5
Source File: NumberAxisTest.java From ECG-Viewer with GNU General Public License v2.0 | 6 votes |
/** * Checks that the auto-range for the range axis on an XYPlot is * working as expected. */ @Test public void testXYAutoRange2() { XYSeries series = new XYSeries("Series 1"); series.add(1.0, 1.0); series.add(2.0, 2.0); series.add(3.0, 3.0); XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(series); JFreeChart chart = ChartFactory.createScatterPlot("Test", "X", "Y", dataset); XYPlot plot = (XYPlot) chart.getPlot(); NumberAxis axis = (NumberAxis) plot.getRangeAxis(); axis.setAutoRangeIncludesZero(false); assertEquals(0.9, axis.getLowerBound(), EPSILON); assertEquals(3.1, axis.getUpperBound(), EPSILON); }
Example 6
Source File: LogAxisTest.java From ccu-historian with GNU General Public License v3.0 | 6 votes |
/** * Checks that the auto-range for the domain axis on an XYPlot is * working as expected. */ @Test public void testXYAutoRange1() { XYSeries series = new XYSeries("Series 1"); series.add(1.0, 1.0); series.add(2.0, 2.0); series.add(3.0, 3.0); XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(series); JFreeChart chart = ChartFactory.createScatterPlot("Test", "X", "Y", dataset); XYPlot plot = (XYPlot) chart.getPlot(); LogAxis axis = new LogAxis("Log(Y)"); plot.setRangeAxis(axis); assertEquals(0.9465508226401592, axis.getLowerBound(), EPSILON); assertEquals(3.1694019256486126, axis.getUpperBound(), EPSILON); }
Example 7
Source File: NumberAxisTest.java From buffer_bci with GNU General Public License v3.0 | 6 votes |
/** * Checks that the auto-range for the domain axis on an XYPlot is * working as expected. */ @Test public void testXYAutoRange1() { XYSeries series = new XYSeries("Series 1"); series.add(1.0, 1.0); series.add(2.0, 2.0); series.add(3.0, 3.0); XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(series); JFreeChart chart = ChartFactory.createScatterPlot("Test", "X", "Y", dataset); XYPlot plot = (XYPlot) chart.getPlot(); NumberAxis axis = (NumberAxis) plot.getDomainAxis(); axis.setAutoRangeIncludesZero(false); assertEquals(0.9, axis.getLowerBound(), EPSILON); assertEquals(3.1, axis.getUpperBound(), EPSILON); }
Example 8
Source File: NumberAxisTest.java From SIMVA-SoS with Apache License 2.0 | 6 votes |
/** * Checks that the auto-range for the domain axis on an XYPlot is * working as expected. */ @Test public void testXYAutoRange1() { XYSeries series = new XYSeries("Series 1"); series.add(1.0, 1.0); series.add(2.0, 2.0); series.add(3.0, 3.0); XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(series); JFreeChart chart = ChartFactory.createScatterPlot("Test", "X", "Y", dataset); XYPlot plot = (XYPlot) chart.getPlot(); NumberAxis axis = (NumberAxis) plot.getDomainAxis(); axis.setAutoRangeIncludesZero(false); assertEquals(0.9, axis.getLowerBound(), EPSILON); assertEquals(3.1, axis.getUpperBound(), EPSILON); }
Example 9
Source File: LogAxisTests.java From astor with GNU General Public License v2.0 | 6 votes |
/** * Checks that the auto-range for the range axis on an XYPlot is * working as expected. */ public void testXYAutoRange2() { XYSeries series = new XYSeries("Series 1"); series.add(1.0, 1.0); series.add(2.0, 2.0); series.add(3.0, 3.0); XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(series); JFreeChart chart = ChartFactory.createScatterPlot( "Test", "X", "Y", dataset, PlotOrientation.VERTICAL, false, false, false ); XYPlot plot = (XYPlot) chart.getPlot(); LogAxis axis = new LogAxis("Log(Y)"); plot.setRangeAxis(axis); assertEquals(0.9465508226401592, axis.getLowerBound(), EPSILON); assertEquals(3.1694019256486126, axis.getUpperBound(), EPSILON); }
Example 10
Source File: ScatterPlotTests.java From astor with GNU General Public License v2.0 | 6 votes |
/** * Create a horizontal bar chart with sample data in the range -3 to +3. * * @return The chart. */ private static JFreeChart createChart() { // create a dataset... XYSeries series1 = new XYSeries("Series 1"); series1.add(1.0, 1.0); series1.add(2.0, 2.0); series1.add(3.0, 3.0); XYDataset dataset = new XYSeriesCollection(series1); // create the chart... return ChartFactory.createScatterPlot( "Scatter Plot", // chart title "Domain", "Range", dataset, // data PlotOrientation.VERTICAL, true, // include legend true, // tooltips false // urls ); }
Example 11
Source File: Chart.java From Neural-Network-Programming-with-Java-SecondEdition with MIT License | 6 votes |
public JFreeChart scatterGridPlot(String xLabel, String yLabel){ int numDatasets = dataset.size(); JFreeChart result = ChartFactory.createScatterPlot(chartTitle , xLabel , yLabel , dataset.get(0)); XYPlot plot = result.getXYPlot(); plot.getRenderer().setSeriesStroke(0, new BasicStroke(1.0f)); plot.getRenderer().setSeriesPaint(0, seriesColor.get(0)); for(int i=1;i<numDatasets;i++){ plot.setDataset(i,dataset.get(i)); //XYItemRenderer renderer = plot.getRenderer(i-0); plot.setRenderer(i, new XYLineAndShapeRenderer(true, true)); plot.getRenderer(i).setSeriesStroke(0, new BasicStroke(1.0f)); plot.getRenderer(i).setSeriesPaint(0,seriesColor.get(i)); } return result; }
Example 12
Source File: JFuzzyChartImpl.java From jFuzzyLogic with GNU Lesser General Public License v3.0 | 6 votes |
/** * Create a defuzzifier's chart * @param title : Title to show (if null => show membership function name) * @param showIt : If true, plot is displayed */ private JFreeChart chartDefuzzifierDiscrete(DefuzzifierDiscrete def, String title, boolean showIt) { if (title == null) title = def.getName(); // Create a series and add values[] points XYSeries series = new XYSeries(title); for (Double x : def) { double xx = x; double yy = def.getDiscreteValue(xx); series.add(xx, yy); } XYDataset xyDataset = new XYSeriesCollection(series); // Create plot and show it JFreeChart chart = ChartFactory.createScatterPlot(title, "x", "Membership", xyDataset, PlotOrientation.VERTICAL, false, true, false); if (showIt) PlotWindow.showIt(title, chart); return chart; }
Example 13
Source File: NumberAxisTest.java From buffer_bci with GNU General Public License v3.0 | 6 votes |
/** * Checks that the auto-range for the range axis on an XYPlot is * working as expected. */ @Test public void testXYAutoRange2() { XYSeries series = new XYSeries("Series 1"); series.add(1.0, 1.0); series.add(2.0, 2.0); series.add(3.0, 3.0); XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(series); JFreeChart chart = ChartFactory.createScatterPlot("Test", "X", "Y", dataset); XYPlot plot = (XYPlot) chart.getPlot(); NumberAxis axis = (NumberAxis) plot.getRangeAxis(); axis.setAutoRangeIncludesZero(false); assertEquals(0.9, axis.getLowerBound(), EPSILON); assertEquals(3.1, axis.getUpperBound(), EPSILON); }
Example 14
Source File: ScatterTools.java From Benchmark with GNU General Public License v2.0 | 5 votes |
private JFreeChart display(String title, int height, OverallResults or) { XYSeriesCollection dataset = new XYSeriesCollection(); XYSeries series = new XYSeries("Scores"); int totalTools = 0; double totalToolTPR = 0; double totalToolFPR = 0; for (OverallResult r : or.getResults()) { series.add(r.falsePositiveRate * 100, r.truePositiveRate * 100); totalTools++; totalToolTPR += r.truePositiveRate; totalToolFPR += r.falsePositiveRate; } atpr = totalToolTPR / totalTools; afpr = totalToolFPR / totalTools; if ( or.getResults().size() > 1) { series.add(afpr * 100, atpr * 100); } dataset.addSeries(series); chart = ChartFactory.createScatterPlot(title, "False Positive Rate", "True Positive Rate", dataset, PlotOrientation.VERTICAL, true, true, false); theme.apply(chart); XYPlot xyplot = chart.getXYPlot(); initializePlot( xyplot ); makeDataLabels(or, xyplot); makeLegend( or, 103, 93, dataset, xyplot ); XYTextAnnotation time = new XYTextAnnotation("Tool run time: " + or.getTime(), 12, -5.6); time.setTextAnchor(TextAnchor.TOP_LEFT); time.setFont(theme.getRegularFont()); time.setPaint(Color.red); xyplot.addAnnotation(time); return chart; }
Example 15
Source File: DefaultChartTheme.java From jasperreports with GNU Lesser General Public License v3.0 | 4 votes |
protected JFreeChart createScatterChart() throws JRException { ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme()); JFreeChart jfreeChart = ChartFactory.createScatterPlot( evaluateTextExpression(getChart().getTitleExpression()), evaluateTextExpression(((JRScatterPlot)getPlot()).getXAxisLabelExpression()), evaluateTextExpression(((JRScatterPlot)getPlot()).getYAxisLabelExpression() ), (XYDataset)getDataset(), getPlot().getOrientationValue().getOrientation(), isShowLegend(), true, false); configureChart(jfreeChart); XYLineAndShapeRenderer plotRenderer = (XYLineAndShapeRenderer) ((XYPlot)jfreeChart.getPlot()).getRenderer(); JRScatterPlot scatterPlot = (JRScatterPlot) getPlot(); boolean isShowLines = scatterPlot.getShowLines() == null ? true : scatterPlot.getShowLines(); boolean isShowShapes = scatterPlot.getShowShapes() == null ? true : scatterPlot.getShowShapes(); plotRenderer.setBaseLinesVisible(isShowLines); plotRenderer.setBaseShapesVisible(isShowShapes); // Handle the axis formating for the category axis configureAxis(jfreeChart.getXYPlot().getDomainAxis(), scatterPlot.getXAxisLabelFont(), scatterPlot.getXAxisLabelColor(), scatterPlot.getXAxisTickLabelFont(), scatterPlot.getXAxisTickLabelColor(), scatterPlot.getXAxisTickLabelMask(), scatterPlot.getXAxisVerticalTickLabels(), scatterPlot.getXAxisLineColor(), false, (Comparable<?>)evaluateExpression(scatterPlot.getDomainAxisMinValueExpression()), (Comparable<?>)evaluateExpression(scatterPlot.getDomainAxisMaxValueExpression())); // Handle the axis formating for the value axis configureAxis(jfreeChart.getXYPlot().getRangeAxis(), scatterPlot.getYAxisLabelFont(), scatterPlot.getYAxisLabelColor(), scatterPlot.getYAxisTickLabelFont(), scatterPlot.getYAxisTickLabelColor(), scatterPlot.getYAxisTickLabelMask(), scatterPlot.getYAxisVerticalTickLabels(), scatterPlot.getYAxisLineColor(), true, (Comparable<?>)evaluateExpression(scatterPlot.getRangeAxisMinValueExpression()), (Comparable<?>)evaluateExpression(scatterPlot.getRangeAxisMaxValueExpression())); return jfreeChart; }
Example 16
Source File: ScatterPlotPanel.java From snap-desktop with GNU General Public License v3.0 | 4 votes |
ScatterPlotPanel(TopComponent parentDialog, String helpId) { super(parentDialog, helpId, CHART_TITLE, false); userSettingsMap = new HashMap<>(); productRemovedListener = new ProductManager.Listener() { @Override public void productAdded(ProductManager.Event event) { } @Override public void productRemoved(ProductManager.Event event) { final UserSettings userSettings = userSettingsMap.remove(event.getProduct()); if (userSettings != null) { userSettings.dispose(); } } }; xAxisRangeControl = new AxisRangeControl("X-Axis"); yAxisRangeControl = new AxisRangeControl("Y-Axis"); scatterPlotModel = new ScatterPlotModel(); bindingContext = new BindingContext(PropertyContainer.createObjectBacked(scatterPlotModel)); scatterpointsDataset = new XYIntervalSeriesCollection(); acceptableDeviationDataset = new XYIntervalSeriesCollection(); regressionDataset = new XYIntervalSeriesCollection(); r2Annotation = new XYTitleAnnotation(0, 0, new TextTitle("")); chart = ChartFactory.createScatterPlot(CHART_TITLE, "", "", scatterpointsDataset, PlotOrientation.VERTICAL, true, true, false); chart.getXYPlot().setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD); createDomainAxisChangeListener(); final PropertyChangeListener userSettingsUpdateListener = evt -> { if (getRaster() != null) { final VectorDataNode pointDataSourceValue = scatterPlotModel.pointDataSource; final AttributeDescriptor dataFieldValue = scatterPlotModel.dataField; final UserSettings userSettings = getUserSettings(getRaster().getProduct()); userSettings.set(getRaster().getName(), pointDataSourceValue, dataFieldValue); } }; bindingContext.addPropertyChangeListener(PROPERTY_NAME_DATA_FIELD, userSettingsUpdateListener); bindingContext.addPropertyChangeListener(PROPERTY_NAME_POINT_DATA_SOURCE, userSettingsUpdateListener); }
Example 17
Source File: SimpleScatter.java From Knowage-Server with GNU Affero General Public License v3.0 | 4 votes |
public JFreeChart createChart(DatasetMap datasets) { DefaultXYDataset dataset=(DefaultXYDataset)datasets.getDatasets().get("1"); JFreeChart chart = ChartFactory.createScatterPlot( name, yLabel, xLabel, dataset, PlotOrientation.HORIZONTAL, false, true, false); Font font = new Font("Tahoma", Font.BOLD, titleDimension); //TextTitle title = new TextTitle(name, font); TextTitle title =setStyleTitle(name, styleTitle); chart.setTitle(title); chart.setBackgroundPaint(Color.white); if(subName!= null && !subName.equals("")){ TextTitle subTitle =setStyleTitle(subName, styleSubTitle); chart.addSubtitle(subTitle); } XYPlot plot = (XYPlot) chart.getPlot(); plot.setForegroundAlpha(0.65f); XYItemRenderer renderer = plot.getRenderer(); int seriesN=dataset.getSeriesCount(); if(colorMap!=null){ for (int i = 0; i < seriesN; i++) { String serieName=(String)dataset.getSeriesKey(i); Color color=(Color)colorMap.get(serieName); if(color!=null){ renderer.setSeriesPaint(i, color); } } } // increase the margins to account for the fact that the auto-range // doesn't take into account the bubble size... NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis(); domainAxis.setAutoRange(true); domainAxis.setRange(yMin, yMax); NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setAutoRange(true); rangeAxis.setRange(xMin,xMax); if(legend==true){ drawLegend(chart); } return chart; }
Example 18
Source File: MDSDemo.java From COMP6237 with BSD 3-Clause "New" or "Revised" License | 4 votes |
@Override public Component getComponent(int width, int height) throws IOException { final JPanel base = new JPanel(); base.setOpaque(false); base.setPreferredSize(new Dimension(width, height)); base.setLayout(new BoxLayout(base, BoxLayout.Y_AXIS)); chart = ChartFactory.createScatterPlot("", "", "", dataset, PlotOrientation.VERTICAL, false, false, false); final XYItemRenderer renderer = new XYLineAndShapeRenderer(false, true) { private static final long serialVersionUID = 1L; @Override public ItemLabelPosition getPositiveItemLabelPosition(int row, int column) { return new ItemLabelPosition(ItemLabelAnchor.OUTSIDE6, TextAnchor.TOP_LEFT); } }; final Font font = Font.decode("Helvetica Neue-22"); renderer.setBaseItemLabelFont(font); chart.getXYPlot().setRenderer(renderer); // chart.getXYPlot().getDomainAxis().setRange(-0.5, 5.5) chart.getXYPlot().getDomainAxis().setTickLabelFont(font); // chart.getXYPlot().getDomainAxis().setTickUnit(new NumberTickUnit(1)) // chart.getXYPlot().getRangeAxis().setRange(-0.5, 5.5) chart.getXYPlot().getRangeAxis().setTickLabelFont(font); // chart.getXYPlot().getRangeAxis().setTickUnit(new NumberTickUnit(1)) chart.getXYPlot().getRenderer().setBaseItemLabelGenerator(new StandardXYItemLabelGenerator() { private static final long serialVersionUID = 1L; @Override public String generateLabel(XYDataset ds, int series, int item) { return ((Dataset) ds).getLabel(series, item); }; }); chart.getXYPlot().getRenderer().setBaseItemLabelsVisible(true); chartPanel = new ChartPanel(chart); chart.setBackgroundPaint(new java.awt.Color(255, 255, 255, 255)); chart.getXYPlot().setBackgroundPaint(java.awt.Color.WHITE); chart.getXYPlot().setRangeGridlinePaint(java.awt.Color.GRAY); chart.getXYPlot().setDomainGridlinePaint(java.awt.Color.GRAY); chartPanel.setSize(width, height - 50); chartPanel.setPreferredSize(chartPanel.getSize()); base.add(chartPanel); final JPanel controls = new JPanel(); controls.setPreferredSize(new Dimension(width, 50)); controls.setMaximumSize(new Dimension(width, 50)); controls.setSize(new Dimension(width, 50)); controls.add(new JSeparator(SwingConstants.VERTICAL)); controls.add(new JLabel("Distance:")); distCombo = new JComboBox<String>(); distCombo.addItem("Euclidean"); distCombo.addItem("1-Pearson"); distCombo.addItem("1-Cosine"); controls.add(distCombo); controls.add(new JSeparator(SwingConstants.VERTICAL)); runBtn = new JButton("Run MDS"); runBtn.setActionCommand("button.run"); runBtn.addActionListener(this); controls.add(runBtn); controls.add(new JSeparator(SwingConstants.VERTICAL)); cnclBtn = new JButton("Cancel"); cnclBtn.setEnabled(false); cnclBtn.setActionCommand("button.cancel"); cnclBtn.addActionListener(this); controls.add(cnclBtn); base.add(controls); controls.add(new JSeparator(SwingConstants.VERTICAL)); iterLabel = new JLabel(" "); final Dimension size = iterLabel.getPreferredSize(); iterLabel.setMinimumSize(size); iterLabel.setPreferredSize(size); controls.add(iterLabel); updateImage(); return base; }
Example 19
Source File: TSNEDemo.java From COMP6237 with BSD 3-Clause "New" or "Revised" License | 4 votes |
@Override public Component getComponent(int width, int height) throws IOException { final JPanel base = new JPanel(); base.setOpaque(false); base.setPreferredSize(new Dimension(width, height)); base.setLayout(new BoxLayout(base, BoxLayout.Y_AXIS)); chart = ChartFactory.createScatterPlot("", "", "", dataset, PlotOrientation.VERTICAL, false, false, false); final XYItemRenderer renderer = new XYLineAndShapeRenderer(false, true) { private static final long serialVersionUID = 1L; @Override public ItemLabelPosition getPositiveItemLabelPosition(int row, int column) { return new ItemLabelPosition(ItemLabelAnchor.OUTSIDE6, TextAnchor.TOP_LEFT); } }; final Font font = Font.decode("Helvetica Neue-22"); renderer.setBaseItemLabelFont(font); chart.getXYPlot().setRenderer(renderer); // chart.getXYPlot().getDomainAxis().setRange(-0.5, 5.5) chart.getXYPlot().getDomainAxis().setTickLabelFont(font); // chart.getXYPlot().getDomainAxis().setTickUnit(new NumberTickUnit(1)) // chart.getXYPlot().getRangeAxis().setRange(-0.5, 5.5) chart.getXYPlot().getRangeAxis().setTickLabelFont(font); // chart.getXYPlot().getRangeAxis().setTickUnit(new NumberTickUnit(1)) chart.getXYPlot().getRenderer().setBaseItemLabelGenerator(new StandardXYItemLabelGenerator() { private static final long serialVersionUID = 1L; @Override public String generateLabel(XYDataset ds, int series, int item) { return ((Dataset) ds).getLabel(series, item); }; }); chart.getXYPlot().getRenderer().setBaseItemLabelsVisible(true); chartPanel = new ChartPanel(chart); chart.setBackgroundPaint(new java.awt.Color(255, 255, 255, 255)); chart.getXYPlot().setBackgroundPaint(java.awt.Color.WHITE); chart.getXYPlot().setRangeGridlinePaint(java.awt.Color.GRAY); chart.getXYPlot().setDomainGridlinePaint(java.awt.Color.GRAY); chartPanel.setSize(width, height - 50); chartPanel.setPreferredSize(chartPanel.getSize()); base.add(chartPanel); final JPanel controls = new JPanel(); controls.setPreferredSize(new Dimension(width, 50)); controls.setMaximumSize(new Dimension(width, 50)); controls.setSize(new Dimension(width, 50)); controls.add(new JSeparator(SwingConstants.VERTICAL)); runBtn = new JButton("Run t-SNE"); runBtn.setActionCommand("button.run"); runBtn.addActionListener(this); controls.add(runBtn); controls.add(new JSeparator(SwingConstants.VERTICAL)); cnclBtn = new JButton("Cancel"); cnclBtn.setEnabled(false); cnclBtn.setActionCommand("button.cancel"); cnclBtn.addActionListener(this); controls.add(cnclBtn); base.add(controls); controls.add(new JSeparator(SwingConstants.VERTICAL)); iterLabel = new JLabel(" "); final Dimension size = iterLabel.getPreferredSize(); iterLabel.setMinimumSize(size); iterLabel.setPreferredSize(size); controls.add(iterLabel); updateImage(); return base; }
Example 20
Source File: VanKrevelenDiagramTask.java From mzmine3 with GNU General Public License v2.0 | 4 votes |
/** * create 2D Van Krevelen Diagram chart */ private JFreeChart create2DVanKrevelenDiagram() { logger.info("Creating new 2D chart instance"); appliedSteps++; // load dataset VanKrevelenDiagramXYDataset dataset2D = new VanKrevelenDiagramXYDataset(filteredRows); // create chart chart = ChartFactory.createScatterPlot(title, "O/C", "H/C", dataset2D, PlotOrientation.VERTICAL, true, true, false); XYPlot plot = (XYPlot) chart.getPlot(); plot.setBackgroundPaint(Color.WHITE); plot.setDomainCrosshairPaint(Color.GRAY); plot.setRangeCrosshairPaint(Color.GRAY); plot.setDomainCrosshairVisible(true); plot.setRangeCrosshairVisible(true); appliedSteps++; // set renderer XYBlockPixelSizeRenderer renderer = new XYBlockPixelSizeRenderer(); // calc block sizes double maxX = plot.getDomainAxis().getRange().getUpperBound(); double maxY = plot.getRangeAxis().getRange().getUpperBound(); renderer.setBlockWidth(0.001); renderer.setBlockHeight(renderer.getBlockWidth() / (maxX / maxY)); // set tooltip generator ScatterPlotToolTipGenerator tooltipGenerator = new ScatterPlotToolTipGenerator("O/C", "H/C", zAxisLabel, filteredRows); renderer.setSeriesToolTipGenerator(0, tooltipGenerator); plot.setRenderer(renderer); // set item label generator NameItemLabelGenerator generator = new NameItemLabelGenerator(filteredRows); renderer.setDefaultItemLabelGenerator(generator); renderer.setDefaultItemLabelsVisible(false); renderer.setDefaultItemLabelFont(legendFont); renderer.setDefaultPositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.TOP_RIGHT, TextAnchor.TOP_RIGHT, -45), true); return chart; }