/ Published in: C#
For error...
<code>
'The type or namespace name 'DataVisualization' does not exist in the namespace 'System.Windows.Forms' (are you missing an assembly reference?)
</code>
...Here's how to install:
* Search for: download "Microsoft Chart Controls for Microsoft .NET Framework 3.5" and expect to find MSChart.exe. Download and install.
* Make sure the proj has a reference to System.Windows.Forms.DataVisualization.
For an example (.SLN) that demonstrates usage of mschart, see http://code.msdn.microsoft.com/mschart or, search for "Samples Environment for Microsoft Chart Controls" on MSDN
<code>
'The type or namespace name 'DataVisualization' does not exist in the namespace 'System.Windows.Forms' (are you missing an assembly reference?)
</code>
...Here's how to install:
* Search for: download "Microsoft Chart Controls for Microsoft .NET Framework 3.5" and expect to find MSChart.exe. Download and install.
* Make sure the proj has a reference to System.Windows.Forms.DataVisualization.
For an example (.SLN) that demonstrates usage of mschart, see http://code.msdn.microsoft.com/mschart or, search for "Samples Environment for Microsoft Chart Controls" on MSDN
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
// Add a chart to a WinForm. Expect this in the x.Designer.cs file: private System.Windows.Forms.DataVisualization.Charting.Chart chart1; // For an X-Y plot, add X-Y coordinates for each point. // This assume that dat is a double[] or a List<double>. // Series["MyGraph"] is a series added in the form designer. for (int i = 0; i < dat.Length; i++ ) { // Add X and Y values for a point. chart1.Series["MyGraph"].Points.AddXY(i,dat[i]); } // This is the corresponding code added by the form designer, found in x.Designer.cs. It shows the code that creates the series referenced above. // // chart1 // chartArea1.Name = "ChartArea1"; this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; legend1.Enabled = false; legend1.Name = "Legend1"; this.chart1.Legends.Add(legend1); this.chart1.Name = "chart1"; this.chart1.Palette = System.Windows.Forms.DataVisualization.Charting.ChartColorPalette.Fire; series1.ChartArea = "ChartArea1"; series1.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; series1.Legend = "Legend1"; series1.Name = "MyGraph"; series1.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int32; series2.ChartArea = "ChartArea1"; series2.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; series2.Legend = "Legend1"; series2.Name = "Gap"; series2.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Double; series2.YAxisType = System.Windows.Forms.DataVisualization.Charting.AxisType.Secondary; series2.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Double; this.chart1.Series.Add(series1); this.chart1.Series.Add(series2); this.chart1.TabIndex = 0; this.chart1.Text = "chart1"; // Add this to enable zoom and scroll. // See http://stackoverflow.com/questions/1212914/enable-scrolling-on-the-microsoft-chart-control-for-windows-forms chartArea1.CursorX.IsUserEnabled = true; chartArea1.CursorX.IsUserSelectionEnabled = true; chartArea1.CursorY.IsUserEnabled = true; chartArea1.CursorY.IsUserSelectionEnabled = true; // Render a tooltip showing x and y values when mousing-over a point. // Two additions: // [1] in x.designer.cs file this.chart1.GetToolTipText += new System.EventHandler<System.Windows.Forms.DataVisualization.Charting.ToolTipEventArgs>(this.Chart1_GetToolTipText); ... // [2] in x.cs file. private void Chart1_GetToolTipText(object sender, System.Windows.Forms.DataVisualization.Charting.ToolTipEventArgs e) { // Check selevted chart element and set tooltip text if (e.HitTestResult.ChartElementType == ChartElementType.DataPoint) { int i = e.HitTestResult.PointIndex; DataPoint dp = e.HitTestResult.Series.Points[i]; e.Text = string.Format("{0:F1}, {1:F1}", dp.XValue, dp.YValues[0] ); } }