/** * Adds an item to the temporary storage for the series. * * @param key the key. * @param value the value. */ public void addItem(Comparable key, Number value) { this.values.addValue(key, value); }
/** * Adds an item to the temporary storage for the series. * * @param key the key. * @param value the value. */ public void addItem(Comparable key, final Number value) { this.values.addValue(key, value); }
/** * Updates an existing value, or adds a new value to the collection. * * @param key the key ({@code null} not permitted). * @param value the value. * * @see #addValue(Comparable, Number) */ public void addValue(Comparable key, double value) { addValue(key, new Double(value)); }
/** * Updates an existing value, or adds a new value to the collection. * * @param key the key (<code>null</code> not permitted). * @param value the value. * * @see #addValue(Comparable, Number) */ public void addValue(Comparable key, double value) { addValue(key, new Double(value)); }
/** * Sorts the items in the list by value. If the list contains * {@code null} values, they will sort to the end of the list, * irrespective of the sort order. * * @param order the sort order ({@code null} not permitted). */ public void sortByValues(SortOrder order) { final int size = this.keys.size(); final DefaultKeyedValue[] data = new DefaultKeyedValue[size]; for (int i = 0; i < size; i++) { data[i] = new DefaultKeyedValue((Comparable) this.keys.get(i), (Number) this.values.get(i)); } Comparator comparator = new KeyedValueComparator( KeyedValueComparatorType.BY_VALUE, order); Arrays.sort(data, comparator); clear(); for (int i = 0; i < data.length; i++) { final DefaultKeyedValue value = data[i]; addValue(value.getKey(), value.getValue()); } }
/** * Creates a new dataset by copying data from a {@link KeyedValues} * instance. * * @param data the data (<code>null</code> not permitted). */ public DefaultPieDataset(KeyedValues data) { if (data == null) { throw new IllegalArgumentException("Null 'data' argument."); } this.data = new DefaultKeyedValues(); for (int i = 0; i < data.getItemCount(); i++) { this.data.addValue(data.getKey(i), data.getValue(i)); } }
/** * Sorts the items in the list by key. * * @param order the sort order ({@code null} not permitted). */ public void sortByKeys(SortOrder order) { final int size = this.keys.size(); final DefaultKeyedValue[] data = new DefaultKeyedValue[size]; for (int i = 0; i < size; i++) { data[i] = new DefaultKeyedValue((Comparable) this.keys.get(i), (Number) this.values.get(i)); } Comparator comparator = new KeyedValueComparator( KeyedValueComparatorType.BY_KEY, order); Arrays.sort(data, comparator); clear(); for (int i = 0; i < data.length; i++) { final DefaultKeyedValue value = data[i]; addValue(value.getKey(), value.getValue()); } }
/** * Sorts the items in the list by key. * * @param order the sort order (<code>null</code> not permitted). */ public void sortByKeys(SortOrder order) { final int size = this.keys.size(); final DefaultKeyedValue[] data = new DefaultKeyedValue[size]; for (int i = 0; i < size; i++) { data[i] = new DefaultKeyedValue((Comparable) this.keys.get(i), (Number) this.values.get(i)); } Comparator comparator = new KeyedValueComparator( KeyedValueComparatorType.BY_KEY, order); Arrays.sort(data, comparator); clear(); for (int i = 0; i < data.length; i++) { final DefaultKeyedValue value = data[i]; addValue(value.getKey(), value.getValue()); } }
/** * Sorts the items in the list by value. If the list contains * <code>null</code> values, they will sort to the end of the list, * irrespective of the sort order. * * @param order the sort order (<code>null</code> not permitted). */ public void sortByValues(SortOrder order) { final int size = this.keys.size(); final DefaultKeyedValue[] data = new DefaultKeyedValue[size]; for (int i = 0; i < size; i++) { data[i] = new DefaultKeyedValue((Comparable) this.keys.get(i), (Number) this.values.get(i)); } Comparator comparator = new KeyedValueComparator( KeyedValueComparatorType.BY_VALUE, order); Arrays.sort(data, comparator); clear(); for (int i = 0; i < data.length; i++) { final DefaultKeyedValue value = data[i]; addValue(value.getKey(), value.getValue()); } }
runningTotal = runningTotal + v.doubleValue(); result.addValue(data.getKey(i), new Double(runningTotal / total));
/** * Returns a {@link KeyedValues} instance that contains the cumulative * percentage values for the data in another {@link KeyedValues} instance. * <p> * 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; }
/** * Creates a new dataset by copying data from a {@link KeyedValues} * instance. * * @param data the data ({@code null} not permitted). */ public DefaultPieDataset(KeyedValues data) { Args.nullNotPermitted(data, "data"); this.data = new DefaultKeyedValues(); for (int i = 0; i < data.getItemCount(); i++) { this.data.addValue(data.getKey(i), data.getValue(i)); } }
keyedValues.addValue("Unique keys", result.getUniqueCount()); keyedValues.addValue("Non-unique keys", nonUniqueCount); subTitles.add(new ShortTextTitle("Non-unique key count: " + nonUniqueCount)); 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()));