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;
}
}
}