List of usage examples for org.jfree.data.time TimeSeries getKey
public Comparable getKey()
From source file:org.amanzi.awe.charts.ui.ChartsView.java
@Override public void chartMouseClicked(final ChartMouseEvent event) { if (event == null) { return;/* w ww . j av a 2 s .co m*/ } Collection<String> groups = null; long startDate = Long.MIN_VALUE; long endDate = Long.MAX_VALUE; String cellName = StringUtils.EMPTY; if (event.getEntity() instanceof CategoryItemEntity) { CategoryItemEntity entity = (CategoryItemEntity) event.getEntity(); IColumn period = (IColumn) entity.getColumnKey(); ICategoryRow column = period.getItemByName((String) entity.getRowKey()); groups = column.getGroupsNames(); startDate = period.getStartDate(); endDate = period.getEndDate(); cellName = column.getName(); } else if (event.getEntity() instanceof XYItemEntity) { XYItemEntity entity = (XYItemEntity) event.getEntity(); TimeSeriesCollection dataset = (TimeSeriesCollection) entity.getDataset(); TimeSeries ts = dataset.getSeries(entity.getSeriesIndex()); ITimeRow row = (ITimeRow) ts.getKey(); RegularTimePeriod period = ts.getTimePeriod(entity.getItem()); startDate = period.getStart().getTime(); endDate = container.getPeriod().addPeriod(startDate); groups = row.getGroupsForTime(startDate); cellName = row.getName(); } else { return; } AWEEventManager.getManager().fireShowInViewEvent(model, new StatisticsFilter(container.getPeriod(), startDate, endDate, groups, cellName), this); }
From source file:edu.mit.fss.examples.member.gui.CommSubsystemPanel.java
@Override public void objectRemoved(final ObjectChangeEvent event) { for (ObjectChangeListener l : listenerList.getListeners(ObjectChangeListener.class)) { l.objectRemoved(event);// ww w .j av a2s . c o m } // update in event dispatch thread for thread safety try { SwingUtilities.invokeAndWait(new Runnable() { public void run() { if (connectSeriesMap.containsKey(event.getObject())) { TimeSeries series = connectSeriesMap.remove(event.getObject()); connectDataset.removeSeries(series); logger.trace("Removing series " + series.getKey() + "."); } } }); } catch (InvocationTargetException | InterruptedException e) { logger.error(e); } }
From source file:org.adempiere.webui.editor.WChartEditor.java
private void render(JFreeChart chart) { ChartRenderingInfo info = new ChartRenderingInfo(); int width = 400; int height = chartModel.getWinHeight(); BufferedImage bi = chart.createBufferedImage(width, height, BufferedImage.TRANSLUCENT, info); try {/*from w w w .j av a 2s . c om*/ byte[] bytes = EncoderUtil.encode(bi, ImageFormat.PNG, true); AImage image = new AImage("", bytes); Imagemap myImage = new Imagemap(); Panel panel = getComponent(); myImage.setContent(image); if (panel.getPanelchildren() != null) { panel.getPanelchildren().getChildren().clear(); panel.getPanelchildren().appendChild(myImage); } else { Panelchildren pc = new Panelchildren(); panel.appendChild(pc); pc.appendChild(myImage); } int count = 0; for (Iterator<?> it = info.getEntityCollection().getEntities().iterator(); it.hasNext();) { ChartEntity entity = (ChartEntity) it.next(); String key = null; String seriesName = null; if (entity instanceof CategoryItemEntity) { CategoryItemEntity item = ((CategoryItemEntity) entity); Comparable<?> colKey = item.getColumnKey(); Comparable<?> rowKey = item.getRowKey(); if (colKey != null && rowKey != null) { key = colKey.toString(); seriesName = rowKey.toString(); } } else if (entity instanceof PieSectionEntity) { Comparable<?> sectionKey = ((PieSectionEntity) entity).getSectionKey(); if (sectionKey != null) { key = sectionKey.toString(); } } if (entity instanceof XYItemEntity) { XYItemEntity item = ((XYItemEntity) entity); if (item.getDataset() instanceof TimeSeriesCollection) { TimeSeriesCollection data = (TimeSeriesCollection) item.getDataset(); TimeSeries series = data.getSeries(item.getSeriesIndex()); TimeSeriesDataItem dataitem = series.getDataItem(item.getItem()); seriesName = series.getKey().toString(); key = dataitem.getPeriod().toString(); } } if (key == null) continue; Area area = new Area(); myImage.appendChild(area); area.setCoords(entity.getShapeCoords()); area.setShape(entity.getShapeType()); area.setTooltiptext(entity.getToolTipText()); area.setId(count + "_WG__" + seriesName + "__" + key); count++; } myImage.addEventListener(Events.ON_CLICK, new EventListener() { public void onEvent(Event event) throws Exception { MouseEvent me = (MouseEvent) event; String areaId = me.getArea(); if (areaId != null) { String[] strs = areaId.split("__"); if (strs.length == 3) { chartMouseClicked(strs[2], strs[1]); } } } }); } catch (Exception e) { log.log(Level.SEVERE, "", e); } }
From source file:de.citec.csra.allocation.vis.MovingChart.java
public void updateDataPoints(String id, String label, String resource, long start, long end, State state, Priority prio, boolean token) { synchronized (this.dataset) { TimeSeries series = this.dataset.getSeries(id); if (series == null) { series = new TimeSeries(id); this.dataset.addSeries(series); }//from ww w . j a v a2 s. com series.setDomainDescription(label); int stroke = -1; Color c = null; boolean randomcolor = false; if (!randomcolor) { switch (prio) { case EMERGENCY: c = Color.RED; break; case URGENT: c = Color.ORANGE; break; case HIGH: c = Color.YELLOW; break; case NORMAL: c = Color.GREEN; break; case LOW: c = Color.BLUE; break; case NO: c = Color.BLACK; break; } } switch (state) { case REQUESTED: stroke = 1; break; case SCHEDULED: stroke = 3; break; case ALLOCATED: stroke = 9; break; case RELEASED: stroke = 1; break; case REJECTED: case CANCELLED: case ABORTED: c = Color.GRAY; stroke = 1; break; } XYLineAndShapeRenderer r = (XYLineAndShapeRenderer) this.chart.getXYPlot() .getRendererForDataset(dataset); int number = -1; for (int i = 0; i < this.dataset.getSeries().size(); i++) { TimeSeries t = this.dataset.getSeries(i); if (t.getKey().equals(id)) { number = i; } } if (number > 0) { if (stroke > 0) { if (token) { r.setSeriesStroke(number, new BasicStroke(stroke, CAP_BUTT, JOIN_BEVEL, 1, new float[] { 1.5f, .5f }, .5f)); } else { r.setSeriesStroke(number, new BasicStroke(stroke, CAP_BUTT, JOIN_BEVEL, 1)); } } if (c != null) { r.setSeriesPaint(number, c); } } long channel; String key = resource; //prio if (values.containsKey(key)) { channel = values.get(key); } else { channel = events++; values.put(key, channel); } if (!series.isEmpty()) { series.clear(); } series.addOrUpdate(new Millisecond(new Date(start)), channel); series.addOrUpdate(new Millisecond(new Date(end)), channel); } }
From source file:net.atomique.ksar.graph.Graph.java
public String getCsvHeader() { StringBuilder tmp = new StringBuilder(); for (int i = firstDataColumn; i < HeaderStr.length; i++) { TimeSeries tmpseries = Stats.get(i - firstDataColumn); tmp.append(graphtitle).append(" ").append(tmpseries.getKey()); tmp.append(";"); }/* w w w . j av a 2s . c o m*/ return tmp.toString(); }
From source file:net.atomique.ksar.graph.Graph.java
private XYDataset create_collection(ArrayList l) { TimeSeriesCollection graphcollection = new TimeSeriesCollection(); TimeSeries found; boolean hasdata = false; for (int i = 0; i < l.size(); i++) { found = null;//from www. j av a 2 s . c om for (int j = 0; j < Stats.size(); j++) { found = Stats.get(j); if (found.getKey().equals(l.get(i))) { break; } else { found = null; } } if (found != null) { graphcollection.addSeries(found); hasdata = true; } } if (!hasdata) { return null; } return graphcollection; }
From source file:edu.dlnu.liuwenpeng.Time.TimeSeriesCollection.java
/** * Returns the series with the specified key, or <code>null</code> if * there is no such series. // w ww . j a v a 2 s.c o m * * @param key the series key (<code>null</code> permitted). * * @return The series with the given key. */ public TimeSeries getSeries(Comparable key) { TimeSeries result = null; Iterator iterator = this.data.iterator(); while (iterator.hasNext()) { TimeSeries series = (TimeSeries) iterator.next(); Comparable k = series.getKey(); if (k != null && k.equals(key)) { result = series; } } return result; }
From source file:org.jfree.data.time.TimeSeriesCollection.java
/** * Returns the index of the series with the specified key, or -1 if no * series has that key./* w ww .j ava2 s . c o m*/ * * @param key the key (<code>null</code> not permitted). * * @return The index. * * @since 1.0.17 */ public int getSeriesIndex(Comparable key) { ParamChecks.nullNotPermitted(key, "key"); int seriesCount = getSeriesCount(); for (int i = 0; i < seriesCount; i++) { TimeSeries series = (TimeSeries) this.data.get(i); if (key.equals(series.getKey())) { return i; } } return -1; }
From source file:org.yccheok.jstock.gui.charting.ChartLayerUI.java
private String getLegendName(int plotIndex, int seriesIndex) { final TimeSeries timeSeries = this.getTimeSeries(plotIndex, seriesIndex); if (timeSeries == null) { return null; }//from w w w . j a v a2 s . co m return (String) timeSeries.getKey(); }
From source file:org.jfree.data.time.TimeSeriesTest.java
@Test public void testSetKey() { TimeSeries s1 = new TimeSeries("S"); s1.setKey("S1"); assertEquals("S1", s1.getKey()); TimeSeriesCollection c = new TimeSeriesCollection(); c.addSeries(s1);//w w w . java 2 s. c o m TimeSeries s2 = new TimeSeries("S2"); c.addSeries(s2); // now we should be allowed to change s1's key to anything but "S2" s1.setKey("OK"); assertEquals("OK", s1.getKey()); try { s1.setKey("S2"); fail("Expect an exception here."); } catch (IllegalArgumentException e) { // OK } // after s1 is removed from the collection, we should be able to set // the key to anything we want... c.removeSeries(s1); s1.setKey("S2"); // check that removing by index also works s1.setKey("S1"); c.addSeries(s1); c.removeSeries(1); s1.setKey("S2"); }