using System.Drawing; using System.Windows.Forms.DataVisualization.Charting; namespace JY.Utility { public class ChartHelper { /// /// Name:添加序列 /// /// /// 图表对象 /// 序列名称 /// 图表类型 /// 颜色 /// 标记点颜色 /// 是否显示数值 public static void AddSeries(Chart chart, string seriesName, SeriesChartType chartType, Color color, Color markColor, bool showValue = false) { chart.Series.Add(seriesName); chart.Series[seriesName].ChartType = chartType; chart.Series[seriesName].Color = color; if (showValue) { chart.Series[seriesName].IsValueShownAsLabel = true; chart.Series[seriesName].MarkerStyle = MarkerStyle.Circle; chart.Series[seriesName].MarkerColor = markColor; chart.Series[seriesName].LabelForeColor = color; chart.Series[seriesName].LabelAngle = -90; } } /// /// Name:设置标题 /// /// /// 图表对象 /// 图表名称 public static void SetTitle(Chart chart, string chartName, Font font, Docking docking, Color foreColor) { chart.Titles.Add(chartName); chart.Titles[0].Font = font; chart.Titles[0].Docking = docking; chart.Titles[0].ForeColor = foreColor; } /// /// Name:设置样式 /// 2019-04-23 14:04 /// /// 图表对象 /// 背景颜色 /// 字体颜色 public static void SetStyle(Chart chart, Color backColor, Color foreColor) { chart.BackColor = backColor; chart.ChartAreas[0].BackColor = backColor; chart.ForeColor = Color.Red; } /// /// Name:设置图例 /// Author: /// /// 图表对象 /// 停靠位置 /// 对齐方式 /// 背景颜色 /// 字体颜色 public static void SetLegend(Chart chart, Docking docking, StringAlignment align, Color backColor, Color foreColor) { chart.Legends[0].Docking = docking; chart.Legends[0].Alignment = align; chart.Legends[0].BackColor = backColor; chart.Legends[0].ForeColor = foreColor; } /// /// Name:设置XY轴 /// Author: /// /// 图表对象 /// X轴标题 /// Y轴标题 /// 坐标轴标题对齐方式 /// 坐标轴字体颜色 /// 坐标轴颜色 /// 坐标轴箭头样式 /// X轴的间距 /// Y轴的间距 public static void SetXY(Chart chart, string xTitle, string yTitle, StringAlignment align, Color foreColor, Color lineColor, AxisArrowStyle arrowStyle, double xInterval, double yInterval) { //chart.ChartAreas[0].AxisX.Title = xTitle; //chart.ChartAreas[0].AxisY.Title = yTitle; //chart.ChartAreas[0].AxisX.TitleAlignment = align; //chart.ChartAreas[0].AxisY.TitleAlignment = align; chart.ChartAreas[0].AxisX.TitleForeColor = foreColor; chart.ChartAreas[0].AxisY.TitleForeColor = foreColor; chart.ChartAreas[0].AxisX.LabelStyle = new LabelStyle() { ForeColor = foreColor }; chart.ChartAreas[0].AxisY.LabelStyle = new LabelStyle() { ForeColor = foreColor }; chart.ChartAreas[0].AxisX.LineColor = lineColor; chart.ChartAreas[0].AxisY.LineColor = lineColor; chart.ChartAreas[0].AxisY.LabelStyle.ForeColor = lineColor; chart.ChartAreas[0].AxisX.LabelStyle.ForeColor = lineColor; chart.ChartAreas[0].AxisX.ArrowStyle = arrowStyle; chart.ChartAreas[0].AxisY.ArrowStyle = arrowStyle; chart.ChartAreas[0].AxisX.Interval = xInterval; // chart.ChartAreas[0].AxisY.Interval = yInterval; } /// /// Name:设置网格 /// Author: /// /// 图表对象 /// 网格线颜色 /// X轴网格的间距 /// Y轴网格的间距 public static void SetMajorGrid(Chart chart, Color lineColor, double xInterval, double yInterval) { chart.ChartAreas[0].AxisX.MajorGrid.LineColor = lineColor; chart.ChartAreas[0].AxisY.MajorGrid.LineColor = lineColor; chart.ChartAreas[0].AxisX.MajorGrid.Interval = xInterval; chart.ChartAreas[0].AxisY.MajorGrid.Interval = yInterval; } } }