/// <summary> /// 配置折线图的样式 /// </summary> private void ConfigPolygonLineStyle(Chart chart, SeriesNameFlashType _seriesFlashType, bool showValueAsLabel) { string seriesName = _seriesFlashType.ToString(); chart.Series.Add(seriesName); chart.Series[seriesName].ChartType = SeriesChartType.Line; //chart.Series[seriesName].MarkerSize = 7; switch (seriesName) { case "正闪所占百分比": chart.Series[seriesName].MarkerStyle = MarkerStyle.Square; break; case "负闪所占百分比": chart.Series[seriesName].MarkerStyle = MarkerStyle.Circle; chart.Series[seriesName].Color = System.Drawing.Color.Green; break; case "总闪所占百分比": chart.Series[seriesName].MarkerStyle = MarkerStyle.Triangle; chart.Series[seriesName].Color = System.Drawing.Color.Red; break; case "雷电强度分级": //chart.Series[seriesName].MarkerStyle = MarkerStyle.None; chart.Series[seriesName].MarkerStyle = MarkerStyle.Square; chart.Series[seriesName].Color = System.Drawing.Color.Red; //chart.Series[seriesName].BorderWidth = 2; //chart.ChartAreas[0].AxisY.MajorGrid.Enabled = true; //chart.ChartAreas[0].AxisX.MajorGrid.Enabled = true; //chart.ChartAreas[0].AxisX.MajorGrid.Interval = 1;//网格间隔 //chart.ChartAreas[0].AxisY.MajorGrid.Interval = 1;//网格间隔 //chart.ChartAreas[0].AxisY.LabelStyle.Interval = 1; break; case "雷暴日": chart.Series[seriesName].MarkerStyle = MarkerStyle.None; chart.Series[seriesName].Color = System.Drawing.Color.Blue; chart.Series[seriesName].BorderWidth = 2; chart.ChartAreas[0].AxisX.MajorGrid.Interval = 10; //网格间隔 chart.ChartAreas[0].AxisX.MajorTickMark.Size = 0; //取消刻度 chart.ChartAreas[0].AxisX.LabelStyle.Interval = 10; //X轴数值间隔 chart.ChartAreas[0].AxisX.MajorGrid.LineDashStyle = chart.ChartAreas[0].AxisY.MajorGrid.LineDashStyle = ChartDashStyle.Dash; //网格样式 break; } chart.Series[seriesName].IsValueShownAsLabel = showValueAsLabel; chart.Series[seriesName].IsXValueIndexed = true; }
/// <summary> /// 绑定雷电强度分级 /// </summary> /// <param name="sourceDictionary"></param> /// <param name="_seriesFlashType"></param> /// <param name="showValueAsLabel"></param> public void BindDataToChartPolygonLineForSingle(Dictionary <LightningStrikeIntensityClassTypeEnum, double> sourceDictionary, SeriesNameFlashType _seriesFlashType, bool showValueAsLabel) { chart.Series.Clear(); string seriesName = _seriesFlashType.ToString(); ConfigPolygonLineStyle(this.chart, _seriesFlashType, showValueAsLabel); foreach (KeyValuePair <LightningStrikeIntensityClassTypeEnum, double> tmpElement in sourceDictionary) { this.chart.Series[seriesName].Points.AddXY(tmpElement.Key.ToString(), tmpElement.Value); } }