Example #1
0
        public static void Main(string[] args)
        {
            /// <summary>
            /// Getting time series
            /// </summary>
            TimeSeries series = CsvTradesLoader.loadBitstampSeries().subseries(0, Period.hours(6));

            /// <summary>
            /// Creating the OHLC dataset
            /// </summary>
            OHLCDataset ohlcDataset = createOHLCDataset(series);

            /// <summary>
            /// Creating the additional dataset
            /// </summary>
            TimeSeriesCollection xyDataset = createAdditionalDataset(series);

            /// <summary>
            /// Creating the chart
            /// </summary>
            JFreeChart chart = ChartFactory.createCandlestickChart("Bitstamp BTC price", "Time", "USD", ohlcDataset, true);
            // Candlestick rendering
            CandlestickRenderer renderer = new CandlestickRenderer();

            renderer.AutoWidthMethod = CandlestickRenderer.WIDTHMETHOD_SMALLEST;
            XYPlot plot = chart.XYPlot;

            plot.Renderer = renderer;
            // Additional dataset
            int index = 1;

            plot.setDataset(index, xyDataset);
            plot.mapDatasetToRangeAxis(index, 0);
            XYLineAndShapeRenderer renderer2 = new XYLineAndShapeRenderer(true, false);

            renderer2.setSeriesPaint(index, Color.blue);
            plot.setRenderer(index, renderer2);
            // Misc
            plot.RangeGridlinePaint = Color.lightGray;
            plot.BackgroundPaint    = Color.white;
            NumberAxis numberAxis = (NumberAxis)plot.RangeAxis;

            numberAxis.AutoRangeIncludesZero = false;
            plot.DatasetRenderingOrder       = DatasetRenderingOrder.FORWARD;

            /// <summary>
            /// Displaying the chart
            /// </summary>
            displayChart(chart);
        }
Example #2
0
 public static JFreeChart createHighLowChart(string title, string timeAxisLabel, string valueAxisLabel, OHLCDataset dataset, Timeline timeline, bool legend)
 {
   int num = legend ? 1 : 0;
   DateAxis dateAxis = new DateAxis(timeAxisLabel);
   dateAxis.setTimeline(timeline);
   NumberAxis numberAxis = new NumberAxis(valueAxisLabel);
   HighLowRenderer highLowRenderer = new HighLowRenderer();
   highLowRenderer.setBaseToolTipGenerator((XYToolTipGenerator) new HighLowItemLabelGenerator());
   XYPlot xyPlot = new XYPlot((XYDataset) dataset, (ValueAxis) dateAxis, (ValueAxis) numberAxis, (XYItemRenderer) highLowRenderer);
   JFreeChart.__\u003Cclinit\u003E();
   JFreeChart jfc = new JFreeChart(title, JFreeChart.__\u003C\u003EDEFAULT_TITLE_FONT, (Plot) xyPlot, num != 0);
   ChartFactory.currentTheme.apply(jfc);
   return jfc;
 }
Example #3
0
 public static JFreeChart createCandlestickChart(string title, string timeAxisLabel, string valueAxisLabel, OHLCDataset dataset, bool legend)
 {
   int num = legend ? 1 : 0;
   DateAxis dateAxis = new DateAxis(timeAxisLabel);
   NumberAxis numberAxis = new NumberAxis(valueAxisLabel);
   XYPlot xyPlot = new XYPlot((XYDataset) dataset, (ValueAxis) dateAxis, (ValueAxis) numberAxis, (XYItemRenderer) null);
   xyPlot.setRenderer((XYItemRenderer) new CandlestickRenderer());
   JFreeChart.__\u003Cclinit\u003E();
   JFreeChart jfc = new JFreeChart(title, JFreeChart.__\u003C\u003EDEFAULT_TITLE_FONT, (Plot) xyPlot, num != 0);
   ChartFactory.currentTheme.apply(jfc);
   return jfc;
 }