Map<Machine, OHLCSeries> machineSeriesMap = new LinkedHashMap<>( solution.getMachineList().size()); HighLowRenderer renderer = new HighLowRenderer(); renderer.setTickLength(0.0); int seriesIndex = 0; OHLCSeries unassignedProjectSeries = new OHLCSeries("Unassigned"); seriesCollection.addSeries(unassignedProjectSeries); machineSeriesMap.put(null, unassignedProjectSeries); renderer.setSeriesStroke(seriesIndex, new BasicStroke(3.0f)); renderer.setSeriesPaint(seriesIndex, TangoColorFactory.SCARLET_1); seriesIndex++; for (Machine machine : solution.getMachineList()) { seriesCollection.addSeries(machineSeries); machineSeriesMap.put(machine, machineSeries); renderer.setSeriesStroke(seriesIndex, new BasicStroke(3.0f)); renderer.setSeriesPaint(seriesIndex, tangoColorFactory.pickColor(machine)); seriesIndex++;
RectangleEdge location = plot.getRangeAxisEdge(); Paint itemPaint = getItemPaint(series, item); Stroke itemStroke = getItemStroke(series, item); g2.setPaint(itemPaint); g2.setStroke(itemStroke); double delta = getTickLength(); if (domainAxis.isInverted()) { delta = -delta; if (getDrawOpenTicks()) { double yOpen = hld.getOpenValue(series, item); if (!Double.isNaN(yOpen)) { if (getDrawCloseTicks()) { double yClose = hld.getCloseValue(series, item); if (!Double.isNaN(yClose)) { addEntity(entities, entityArea, dataset, series, item, 0.0, 0.0);
OHLCDataset data2 = createPriceDataset(file); System.out.println(data2.getItemCount(0)); HighLowRenderer renderer1 = new HighLowRenderer(); renderer1.setTickLength(3); renderer1.setBaseToolTipGenerator(new StandardXYToolTipGenerator (StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, new SimpleDateFormat("d-MMM-yyyy"), new DecimalFormat("0.00"))); renderer1.setSeriesPaint(0, Color.blue);
/** * Creates and returns a default instance of a high-low-open-close chart. * * @param title the chart title (<code>null</code> permitted). * @param timeAxisLabel a label for the time axis (<code>null</code> * permitted). * @param valueAxisLabel a label for the value axis (<code>null</code> * permitted). * @param dataset the dataset for the chart (<code>null</code> permitted). * @param legend a flag specifying whether or not a legend is required. * * @return A high-low-open-close chart. */ public static JFreeChart createHighLowChart(String title, String timeAxisLabel, String valueAxisLabel, OHLCDataset dataset, boolean legend) { ValueAxis timeAxis = new DateAxis(timeAxisLabel); NumberAxis valueAxis = new NumberAxis(valueAxisLabel); HighLowRenderer renderer = new HighLowRenderer(); renderer.setBaseToolTipGenerator(new HighLowItemLabelGenerator()); XYPlot plot = new XYPlot(dataset, timeAxis, valueAxis, renderer); JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend); currentTheme.apply(chart); return chart; }
/** * Creates and returns a default instance of a high-low-open-close chart. * * @param title the chart title ({@code null} permitted). * @param timeAxisLabel a label for the time axis ({@code null} * permitted). * @param valueAxisLabel a label for the value axis ({@code null} * permitted). * @param dataset the dataset for the chart ({@code null} permitted). * @param legend a flag specifying whether or not a legend is required. * * @return A high-low-open-close chart. */ public static JFreeChart createHighLowChart(String title, String timeAxisLabel, String valueAxisLabel, OHLCDataset dataset, boolean legend) { ValueAxis timeAxis = new DateAxis(timeAxisLabel); NumberAxis valueAxis = new NumberAxis(valueAxisLabel); HighLowRenderer renderer = new HighLowRenderer(); renderer.setDefaultToolTipGenerator(new HighLowItemLabelGenerator()); XYPlot plot = new XYPlot(dataset, timeAxis, valueAxis, renderer); JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend); currentTheme.apply(chart); return chart; }
/** * Sets the flag that controls whether close ticks are drawn, and sends a * {@link RendererChangeEvent} to all registered listeners. * * @param draw the flag. * * @see #getDrawCloseTicks() */ public void setDrawCloseTicks(boolean draw) { this.drawCloseTicks = draw; fireChangeEvent(); }
XYItemRenderer renderer1 = new HighLowRenderer(); renderer1.setBaseToolTipGenerator(new StandardXYToolTipGenerator(StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, new SimpleDateFormat("d-MMM-yyyy"), new DecimalFormat("0.00"))); renderer1.setSeriesPaint(0, Color.blue);
RectangleEdge location = plot.getRangeAxisEdge(); Paint itemPaint = getItemPaint(series, item); Stroke itemStroke = getItemStroke(series, item); g2.setPaint(itemPaint); g2.setStroke(itemStroke); double delta = getTickLength(); if (domainAxis.isInverted()) { delta = -delta; if (getDrawOpenTicks()) { double yOpen = hld.getOpenValue(series, item); if (!Double.isNaN(yOpen)) { if (getDrawCloseTicks()) { double yClose = hld.getCloseValue(series, item); if (!Double.isNaN(yClose)) { addEntity(entities, entityArea, dataset, series, item, 0.0, 0.0);
timeAxis.setTimeline(timeline); NumberAxis valueAxis = new NumberAxis(valueAxisLabel); HighLowRenderer renderer = new HighLowRenderer(); renderer.setBaseToolTipGenerator(new HighLowItemLabelGenerator()); XYPlot plot = new XYPlot(dataset, timeAxis, valueAxis, renderer); JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT,
/** * Sets the flag that controls whether open ticks are drawn, and sends a * {@link RendererChangeEvent} to all registered listeners. * * @param draw the flag. * * @see #getDrawOpenTicks() */ public void setDrawOpenTicks(boolean draw) { this.drawOpenTicks = draw; fireChangeEvent(); }
Map<Machine, OHLCSeries> machineSeriesMap = new LinkedHashMap<>( solution.getMachineList().size()); HighLowRenderer renderer = new HighLowRenderer(); renderer.setTickLength(0.0); int seriesIndex = 0; OHLCSeries unassignedProjectSeries = new OHLCSeries("Unassigned"); seriesCollection.addSeries(unassignedProjectSeries); machineSeriesMap.put(null, unassignedProjectSeries); renderer.setSeriesStroke(seriesIndex, new BasicStroke(3.0f)); renderer.setSeriesPaint(seriesIndex, TangoColorFactory.SCARLET_1); seriesIndex++; for (Machine machine : solution.getMachineList()) { seriesCollection.addSeries(machineSeries); machineSeriesMap.put(machine, machineSeries); renderer.setSeriesStroke(seriesIndex, new BasicStroke(3.0f)); renderer.setSeriesPaint(seriesIndex, tangoColorFactory.pickColor(machine)); seriesIndex++;
/** * Sets the flag that controls whether open ticks are drawn, and sends a * {@link RendererChangeEvent} to all registered listeners. * * @param draw the flag. * * @see #getDrawOpenTicks() */ public void setDrawOpenTicks(boolean draw) { this.drawOpenTicks = draw; fireChangeEvent(); }
/** * Sets the flag that controls whether close ticks are drawn, and sends a * {@link RendererChangeEvent} to all registered listeners. * * @param draw the flag. * * @see #getDrawCloseTicks() */ public void setDrawCloseTicks(boolean draw) { this.drawCloseTicks = draw; fireChangeEvent(); }
/** * Sets the paint used to draw the ticks for the close values and sends a * {@link RendererChangeEvent} to all registered listeners. If you set * this to {@code null} (the default), the series paint is used * instead. * * @param paint the paint ({@code null} permitted). * * @see #getCloseTickPaint() */ public void setCloseTickPaint(Paint paint) { this.closeTickPaint = paint; fireChangeEvent(); }
/** * Sets the tick length (in Java2D units) and sends a * {@link RendererChangeEvent} to all registered listeners. * * @param length the length. * * @since 1.0.10 * * @see #getTickLength() */ public void setTickLength(double length) { this.tickLength = length; fireChangeEvent(); }
/** * Sets the paint used to draw the ticks for the open values and sends a * {@link RendererChangeEvent} to all registered listeners. If you set * this to {@code null} (the default), the series paint is used * instead. * * @param paint the paint ({@code null} permitted). * * @see #getOpenTickPaint() */ public void setOpenTickPaint(Paint paint) { this.openTickPaint = paint; fireChangeEvent(); }
/** * Sets the tick length (in Java2D units) and sends a * {@link RendererChangeEvent} to all registered listeners. * * @param length the length. * * @since 1.0.10 * * @see #getTickLength() */ public void setTickLength(double length) { this.tickLength = length; fireChangeEvent(); }
/** * Sets the paint used to draw the ticks for the close values and sends a * {@link RendererChangeEvent} to all registered listeners. If you set * this to <code>null</code> (the default), the series paint is used * instead. * * @param paint the paint (<code>null</code> permitted). * * @see #getCloseTickPaint() */ public void setCloseTickPaint(Paint paint) { this.closeTickPaint = paint; fireChangeEvent(); }
/** * Sets the paint used to draw the ticks for the open values and sends a * {@link RendererChangeEvent} to all registered listeners. If you set * this to <code>null</code> (the default), the series paint is used * instead. * * @param paint the paint (<code>null</code> permitted). * * @see #getOpenTickPaint() */ public void setOpenTickPaint(Paint paint) { this.openTickPaint = paint; fireChangeEvent(); }