List of usage examples for org.jfree.data DefaultKeyedValues addValue
public void addValue(Comparable key, Number value)
From source file:org.jfree.chart.demo.ParetoChartDemo1.java
public static CategoryDataset[] createDatasets() { DefaultKeyedValues defaultkeyedvalues = new DefaultKeyedValues(); defaultkeyedvalues.addValue("C", new Integer(4843)); defaultkeyedvalues.addValue("C++", new Integer(2098)); defaultkeyedvalues.addValue("C#", new Integer(26)); defaultkeyedvalues.addValue("Java", new Integer(1901)); defaultkeyedvalues.addValue("Perl", new Integer(2507)); defaultkeyedvalues.addValue("PHP", new Integer(1689)); defaultkeyedvalues.addValue("Python", new Integer(948)); defaultkeyedvalues.addValue("Ruby", new Integer(100)); defaultkeyedvalues.addValue("SQL", new Integer(263)); defaultkeyedvalues.addValue("Unix Shell", new Integer(485)); defaultkeyedvalues.sortByValues(SortOrder.DESCENDING); org.jfree.data.KeyedValues keyedvalues = DataUtilities.getCumulativePercentages(defaultkeyedvalues); CategoryDataset categorydataset = DatasetUtilities.createCategoryDataset("Languages", defaultkeyedvalues); CategoryDataset categorydataset1 = DatasetUtilities.createCategoryDataset("Cumulative", keyedvalues); return (new CategoryDataset[] { categorydataset, categorydataset1 }); }
From source file:org.jfree.data.DataUtilities.java
/** * Returns a {@link KeyedValues} instance that contains the cumulative * percentage values for the data in another {@link KeyedValues} instance. * <p>/* w w w .j ava2s .c o m*/ * The percentages are values between 0.0 and 1.0 (where 1.0 = 100%). * * @param data the data (<code>null</code> not permitted). * * @return The cumulative percentages. */ public static KeyedValues getCumulativePercentages(KeyedValues data) { ParamChecks.nullNotPermitted(data, "data"); DefaultKeyedValues result = new DefaultKeyedValues(); double total = 0.0; for (int i = 0; i < data.getItemCount(); i++) { Number v = data.getValue(i); if (v != null) { total = total + v.doubleValue(); } } double runningTotal = 0.0; for (int i = 0; i < data.getItemCount(); i++) { Number v = data.getValue(i); if (v != null) { runningTotal = runningTotal + v.doubleValue(); } result.addValue(data.getKey(i), new Double(runningTotal / total)); } return result; }
From source file:org.jfree.data.DataUtils.java
/** * Returns a {@link KeyedValues} instance that contains the cumulative * percentage values for the data in another {@link KeyedValues} instance. * <p>/*www. j av a 2s.c o m*/ * The percentages are values between 0.0 and 1.0 (where 1.0 = 100%). * * @param data the data ({@code null} not permitted). * * @return The cumulative percentages. */ public static KeyedValues getCumulativePercentages(KeyedValues data) { Args.nullNotPermitted(data, "data"); DefaultKeyedValues result = new DefaultKeyedValues(); double total = 0.0; for (int i = 0; i < data.getItemCount(); i++) { Number v = data.getValue(i); if (v != null) { total = total + v.doubleValue(); } } double runningTotal = 0.0; for (int i = 0; i < data.getItemCount(); i++) { Number v = data.getValue(i); if (v != null) { runningTotal = runningTotal + v.doubleValue(); } result.addValue(data.getKey(i), new Double(runningTotal / total)); } return result; }
From source file:net.footballpredictions.footballstats.swing.ResultsPieChart.java
/** * Updates the relative sizes of the pie chart segments. *//*from w ww . j a va 2 s. c om*/ public void updateGraph(int won, int drawn, int lost) { DefaultKeyedValues values = new DefaultKeyedValues(); values.addValue(messageResources.getString("headToHead.won"), won); values.addValue(messageResources.getString("headToHead.drawn"), drawn); values.addValue(messageResources.getString("headToHead.lost"), lost); PieDataset dataSet = new DefaultPieDataset(values); JFreeChart chart = ChartFactory.createPieChart(title, dataSet, false, // Legend. true, // Tooltips. false); // URLs. PiePlot plot = (PiePlot) chart.getPlot(); plot.setInteriorGap(0); plot.setSectionPaint(0, Colours.WIN); plot.setSectionPaint(1, Colours.DRAW); plot.setSectionPaint(2, Colours.DEFEAT); plot.setBackgroundPaint(null); plot.setOutlinePaint(null); plot.setLabelGenerator(null); plot.setToolTipGenerator(new StandardPieToolTipGenerator("{0} {1} ({2})")); setChart(chart); }
From source file:nextapp.echo2.chart.testapp.testscreen.PieChartTest.java
public PieChartTest() { super(SplitPane.ORIENTATION_HORIZONTAL, new Extent(250, Extent.PX)); setStyleName("DefaultResizable"); ButtonColumn controlsColumn = new ButtonColumn(); controlsColumn.setStyleName("TestControlsColumn"); add(controlsColumn);// w ww .j a v a 2 s . c om DefaultKeyedValues values = new DefaultKeyedValues(); values.addValue("Widgets", 500.2); values.addValue("Cubits", 216.0); values.addValue("Zonkits", 125.9); final DefaultPieDataset pieDataset = new DefaultPieDataset(new DefaultPieDataset(values)); PiePlot piePlot = new PiePlot(pieDataset); final ChartDisplay chartDisplay = new ChartDisplay(piePlot); add(chartDisplay); controlsColumn.addButton("Set Width = 800px", new ActionListener() { public void actionPerformed(ActionEvent e) { synchronized (chartDisplay) { chartDisplay.setWidth(new Extent(800)); } } }); controlsColumn.addButton("Set Width = null", new ActionListener() { public void actionPerformed(ActionEvent e) { synchronized (chartDisplay) { chartDisplay.setWidth(null); } } }); controlsColumn.addButton("Set Height = 600px", new ActionListener() { public void actionPerformed(ActionEvent e) { synchronized (chartDisplay) { chartDisplay.setHeight(new Extent(600)); } } }); controlsColumn.addButton("Set Height = null", new ActionListener() { public void actionPerformed(ActionEvent e) { synchronized (chartDisplay) { chartDisplay.setHeight(null); } } }); controlsColumn.addButton("Update a Value", new ActionListener() { public void actionPerformed(ActionEvent e) { synchronized (chartDisplay) { pieDataset.setValue("Cubits", Math.random() * 500); } } }); }
From source file:org.jfree.chart.demo.ParetoChartDemo.java
/** * Creates a new demo instance.// w w w. j a va 2 s . co m * * @param title the frame title. */ public ParetoChartDemo(final String title) { super(title); final DefaultKeyedValues data = new DefaultKeyedValues(); data.addValue("C", new Integer(4843)); data.addValue("C++", new Integer(2098)); data.addValue("C#", new Integer(26)); data.addValue("Java", new Integer(1901)); data.addValue("Perl", new Integer(2507)); data.addValue("PHP", new Integer(1689)); data.addValue("Python", new Integer(948)); data.addValue("Ruby", new Integer(100)); data.addValue("SQL", new Integer(263)); data.addValue("Unix Shell", new Integer(485)); data.sortByValues(SortOrder.DESCENDING); final KeyedValues cumulative = DataUtilities.getCumulativePercentages(data); final CategoryDataset dataset = DatasetUtilities.createCategoryDataset("Languages", data); // create the chart... final JFreeChart chart = ChartFactory.createBarChart("Freshmeat Software Projects", // chart title "Language", // domain axis label "Projects", // range axis label dataset, // data PlotOrientation.VERTICAL, true, // include legend true, false); // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART... chart.addSubtitle(new TextTitle("By Programming Language")); chart.addSubtitle(new TextTitle("As at 5 March 2003")); // set the background color for the chart... chart.setBackgroundPaint(new Color(0xBBBBDD)); // get a reference to the plot for further customisation... final CategoryPlot plot = chart.getCategoryPlot(); final CategoryAxis domainAxis = plot.getDomainAxis(); domainAxis.setLowerMargin(0.02); domainAxis.setUpperMargin(0.02); // set the range axis to display integers only... final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); final LineAndShapeRenderer renderer2 = new LineAndShapeRenderer(); final CategoryDataset dataset2 = DatasetUtilities.createCategoryDataset("Cumulative", cumulative); final NumberAxis axis2 = new NumberAxis("Percent"); axis2.setNumberFormatOverride(NumberFormat.getPercentInstance()); plot.setRangeAxis(1, axis2); plot.setDataset(1, dataset2); plot.setRenderer(1, renderer2); plot.mapDatasetToRangeAxis(1, 1); plot.setDatasetRenderingOrder(DatasetRenderingOrder.REVERSE); // OPTIONAL CUSTOMISATION COMPLETED. // add the chart to a panel... final ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new java.awt.Dimension(550, 270)); setContentPane(chartPanel); }
From source file:org.datacleaner.widgets.result.UniqueKeyCheckAnalyzerResultSwingRenderer.java
@Override public JComponent render(UniqueKeyCheckAnalyzerResult result) { final int nullCount = result.getNullCount(); final int nonUniqueCount = result.getNonUniqueCount(); final DefaultKeyedValues keyedValues = new DefaultKeyedValues(); keyedValues.addValue("Unique keys", result.getUniqueCount()); final List<Title> subTitles = new ArrayList<Title>(); subTitles.add(new ShortTextTitle("Row count: " + result.getRowCount())); subTitles.add(new ShortTextTitle("Unique key count: " + result.getUniqueCount())); if (nonUniqueCount > 0) { keyedValues.addValue("Non-unique keys", nonUniqueCount); subTitles.add(new ShortTextTitle("Non-unique key count: " + nonUniqueCount)); }// w w w .ja v a 2 s . c o m final String title; if (nullCount == 0) { title = "Unique and non-unique keys"; } else { keyedValues.addValue(LabelUtils.NULL_LABEL, nullCount); title = "Unique, non-unique and <null> keys"; subTitles.add(new ShortTextTitle("<null> key count: " + result.getNullCount())); } final DefaultPieDataset dataset = new DefaultPieDataset(keyedValues); final JFreeChart chart = ChartFactory.createRingChart(title, dataset, true, true, false); chart.setSubtitles(subTitles); ChartUtils.applyStyles(chart); ChartPanel chartPanel = ChartUtils.createPanel(chart, false); final DCPanel leftPanel = new DCPanel(); leftPanel.setLayout(new VerticalLayout()); leftPanel.add(WidgetUtils.decorateWithShadow(chartPanel)); final Map<String, Integer> samples = result.getNonUniqueSamples(); if (samples == null || samples.isEmpty()) { return leftPanel; } final DefaultTableModel samplesTableModel = new DefaultTableModel(new String[] { "Key", "Count" }, 0); for (final Entry<String, Integer> entry : samples.entrySet()) { final String key = entry.getKey(); final Integer count = entry.getValue(); samplesTableModel.addRow(new Object[] { key, count }); } final DCTable samplesTable = new DCTable(samplesTableModel); final DCPanel rightPanel = new DCPanel(); rightPanel.setLayout(new BorderLayout()); rightPanel.add(DCLabel.dark("Sample non-unique keys:")); rightPanel.add(samplesTable.toPanel(), BorderLayout.CENTER); final JSplitPane split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); split.setOpaque(false); split.add(leftPanel); split.add(rightPanel); split.setDividerLocation(550); return split; }
From source file:org.eobjects.datacleaner.widgets.result.UniqueKeyCheckAnalyzerResultSwingRenderer.java
@Override public JComponent render(UniqueKeyCheckAnalyzerResult result) { final int nullCount = result.getNullCount(); final int nonUniqueCount = result.getNonUniqueCount(); final DefaultKeyedValues keyedValues = new DefaultKeyedValues(); keyedValues.addValue("Unique keys", result.getUniqueCount()); final List<Title> subTitles = new ArrayList<Title>(); subTitles.add(new ShortTextTitle("Row count: " + result.getRowCount())); subTitles.add(new ShortTextTitle("Unique key count: " + result.getUniqueCount())); if (nonUniqueCount > 0) { keyedValues.addValue("Non-unique keys", nonUniqueCount); subTitles.add(new ShortTextTitle("Non-unique key count: " + nonUniqueCount)); }//w w w.j av a 2 s. c o m final String title; if (nullCount == 0) { title = "Unique and non-unique keys"; } else { keyedValues.addValue(LabelUtils.NULL_LABEL, nullCount); title = "Unique, non-unique and <null> keys"; subTitles.add(new ShortTextTitle("<null> key count: " + result.getNullCount())); } final DefaultPieDataset dataset = new DefaultPieDataset(keyedValues); final JFreeChart chart = ChartFactory.createRingChart(title, dataset, true, true, false); chart.setSubtitles(subTitles); ChartUtils.applyStyles(chart); ChartPanel chartPanel = new ChartPanel(chart); final DCPanel leftPanel = new DCPanel(); leftPanel.setLayout(new VerticalLayout()); leftPanel.add(WidgetUtils.decorateWithShadow(chartPanel, true, 4)); final Map<String, Integer> samples = result.getNonUniqueSamples(); if (samples == null || samples.isEmpty()) { return leftPanel; } final DefaultTableModel samplesTableModel = new DefaultTableModel(new String[] { "Key", "Count" }, 0); for (final Entry<String, Integer> entry : samples.entrySet()) { final String key = entry.getKey(); final Integer count = entry.getValue(); samplesTableModel.addRow(new Object[] { key, count }); } final DCTable samplesTable = new DCTable(samplesTableModel); final DCPanel rightPanel = new DCPanel(); rightPanel.setLayout(new BorderLayout()); rightPanel.add(DCLabel.dark("Sample non-unique keys:")); rightPanel.add(samplesTable.toPanel(), BorderLayout.CENTER); final JSplitPane split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); split.setOpaque(false); split.add(leftPanel); split.add(rightPanel); split.setDividerLocation(550); return split; }
From source file:nextapp.echo.chart.testapp.testscreen.PieChartTest.java
public PieChartTest() { super(SplitPane.ORIENTATION_HORIZONTAL, new Extent(250, Extent.PX)); setStyleName("DefaultResizable"); ButtonColumn controlsColumn = new ButtonColumn(); controlsColumn.setStyleName("TestControlsColumn"); add(controlsColumn);// w w w . ja va 2 s . c om DefaultKeyedValues values = new DefaultKeyedValues(); values.addValue("Widgets", 500.2); values.addValue("Cubits", 216.0); values.addValue("Zonkits", 125.9); final DefaultPieDataset pieDataset = new DefaultPieDataset(new DefaultPieDataset(values)); PiePlot piePlot = new PiePlot(pieDataset); piePlot.setToolTipGenerator(new StandardPieToolTipGenerator()); final ChartDisplay chartDisplay = new ChartDisplay(piePlot); add(chartDisplay); chartDisplay.setActionCommands(new String[] { "Widgets", "Cubits", "Zonkits" }); chartDisplay.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { WindowPane window = new WindowPane("Chart series clicked", new Extent(300), new Extent(200)); window.add(new Label("You clicked on " + arg0.getActionCommand())); Component contentPane = getParent(); while (!(contentPane instanceof ContentPane)) { contentPane = contentPane.getParent(); } contentPane.add(window); } }); ChartPanel chartPanel = new ChartPanel(new JFreeChart(piePlot)); chartPanel.setRefreshBuffer(true); ChartEntity entity = chartPanel.getEntityForPoint(50, 50); System.out.println("Entity: " + entity); controlsColumn.addButton("Set Width = 800px", new ActionListener() { public void actionPerformed(ActionEvent e) { synchronized (chartDisplay) { chartDisplay.setWidth(new Extent(800)); } } }); controlsColumn.addButton("Set Width = null", new ActionListener() { public void actionPerformed(ActionEvent e) { synchronized (chartDisplay) { chartDisplay.setWidth(null); } } }); controlsColumn.addButton("Set Height = 600px", new ActionListener() { public void actionPerformed(ActionEvent e) { synchronized (chartDisplay) { chartDisplay.setHeight(new Extent(600)); } } }); controlsColumn.addButton("Set Height = null", new ActionListener() { public void actionPerformed(ActionEvent e) { synchronized (chartDisplay) { chartDisplay.setHeight(null); } } }); controlsColumn.addButton("Update a Value", new ActionListener() { public void actionPerformed(ActionEvent e) { synchronized (chartDisplay) { pieDataset.setValue("Cubits", Math.random() * 500); } } }); }
From source file:org.jfree.data.DefaultKeyedValuesTest.java
/** * A simple test for the clear() method. *//*from www . jav a 2s . co m*/ @Test public void testClear() { DefaultKeyedValues v1 = new DefaultKeyedValues(); v1.addValue("A", 1.0); v1.addValue("B", 2.0); assertEquals(2, v1.getItemCount()); v1.clear(); assertEquals(0, v1.getItemCount()); }