WinForm Chart控件上未显示数据和系列标签

时间:2017-09-04 22:36:14

标签: winforms charts graphics data-visualization microsoft-chart-controls

我在使默认的WinForms Chart控件工作时遇到问题。我有一个单一区域的图表。在这个区域,我想显示三(3)个系列,其标签位于一个图例上。

以下代码中显示的每个值数组都包含六(6)个值。

当我运行应用程序时,图表只显示背景,标题和我定义的FIRST系列的名称,其他似乎被忽略。此外,不显示网格,也不显示数据点或线。该图表基本上是空白的。

run-time chart

this.chart.SuspendLayout();
this.chart.ChartAreas.Clear();
this.chart.Series.Clear();
ChartType chartType = ChartType.Column;

// prepare the area
const string AREA_NAME = "ChartAreaBP";
ChartArea bpChartArea = new ChartArea(AREA_NAME);
bpChartArea.AxisX.LabelStyle.Format = "dd/MMM\nyyyy";
bpChartArea.AxisX.MajorGrid.LineColor = System.Drawing.Color.LightGray;
bpChartArea.AxisY.MajorGrid.LineColor = System.Drawing.Color.LightGray;
bpChartArea.BackColor = System.Drawing.Color.LimeGreen;
bpChartArea.BackGradientStyle = GradientStyle.DiagonalRight;
bpChartArea.Position.Auto = true;
bpChartArea.InnerPlotPosition.Auto = true;
this.chart.ChartAreas.Add(bpChartArea);

// prepare the values. X is Date/time all other 3 are BYTE/INT
var xvals = from x in items select x.TimeStamp;     
var yvalsSys = from y in items select y.Systolic;   
var yvalsDia = from y in items select y.Diastolic;  
var yvalsRhy = from y in items select y.Rhythm;

// The first series, other 2 omitted from HERE for simplicity
const string SYS_SERIES = "Systolic";
Series sysBPSeries = new Series(SYS_SERIES, 4);
sysBPSeries.ChartType = chartType;
sysBPSeries.ChartArea = AREA_NAME;
sysBPSeries.XValueType = ChartValueType.Auto;
sysBPSeries.YValueType = ChartValueType.Date;
sysBPSeries.XAxisType = AxisType.Primary;
sysBPSeries.YAxisType = AxisType.Primary;
sysBPSeries.Enabled = true;
this.chart.Series.Add(sysBPSeries);
this.chart.Series[SYS_SERIES].Points.DataBindXY(xvals, yvalsSys);

// here the other two series are defined.

但是当我运行应用程序时,只显示FIRST系列的图例,即使代码中定义了其他两个(我在此列表中省略了它们),就像第一个系列一样。

正如我上面所说,没有显示网格或值。但是,设计模式中显示的图表确实显示了第一个和唯一的图例以及所有三个行上的所有三个标签。

0 个答案:

没有答案