using Imsl.Chart2D; using System; using System.Drawing; public class SampleHighLowClose : FrameChart { private double[] high, low, close; public SampleHighLowClose() { Chart chart = this.Chart; AxisXY axis = new AxisXY(chart); // Date is June 27, 1999 DateTime date = new DateTime(1999, 6, 27); int n = 30; CreateData(n); // Create an instance of a HighLowClose Chart HighLowClose hilo = new HighLowClose(axis, date, high, low, close); hilo.MarkerColor = Color.Blue; // Set the HighLowClose Chart Title chart.ChartTitle.SetTitle("Stock Prices"); // Setup the x axis Axis1D axisX = axis.AxisX; // Set the text angle for the X axis labels axisX.AxisLabel.TextAngle = 270; // Setup the time axis hilo.SetDateAxis("d"); // Turn on grid and make it light gray axisX.Grid.IsVisible = true; axisX.Grid.LineColor = Color.LightGray; axis.AxisY.Grid.IsVisible = true; axis.AxisY.Grid.LineColor = Color.LightGray; } private void CreateData(int n) { high = new double[n]; low = new double[n]; close = new double[n]; Random r = new Random(123457); for (int k = 0; k < n; k++) { double f = r.NextDouble(); if (k == 0) { close[0] = 100; } else { close[k] = (0.95+0.10*f)*close[k-1]; } high[k] = close[k]*(1+0.05*r.NextDouble()); low[k] = close[k]*(1-0.05*r.NextDouble()); } } public static void Main(string[] argv) { System.Windows.Forms.Application.Run(new SampleHighLowClose()); } }