chart1.ChartAreas[0].AxisX.MajorGrid.LineWidth = 0;
chart1.ChartAreas[0].AxisX.Interval = 1;?? //设置X轴坐标的间隔为1
chart1.ChartAreas[0].AxisX.IntervalOffset = 1;? //设置X轴坐标偏移为1
chart1.ChartAreas[0].AxisX.LabelStyle.IsStaggered = true;
for (int n = 12; n < dt.Columns.Count-2; n++)
{
if (dt.Rows[dt.Rows.Count - 1][n].ToString() != null && dt.Rows[dt.Rows.Count - 1][n].ToString() != "")
{
chart1.Series[0].Points.AddXY(dt.Columns[n].ColumnName, dt.Rows[dt.Rows.Count - 1][n].ToString());
chart1.Series[0].IsValueShownAsLabel = true;
}
}
//chart2
DataRow dr2 = dt.NewRow();
List<string> list = new List<string>();
double bll = 0;
index = 12;
for (int j = 12; j < dt.Columns.Count; j++)
{
if (dt.Rows[dt.Rows.Count - 1][j].ToString().Trim() != "")
bll = double.Parse(dt.Rows[dt.Rows.Count - 1][j].ToString().Trim()) * 1.0 / double.Parse(dt.Rows[dt.Rows.Count - 1][8].ToString().Trim());
list.Add(bll.ToString());//list.Add(bll.ToString());//list.Add(Math.Round(bll * 100, 2).ToString())
index++;
}
dt.Rows.Add(dr2);
chart2.ChartAreas[0].AxisX.MajorGrid.LineWidth = 0;
chart2.ChartAreas[0].AxisX.Interval = 1;?? //设置X轴坐标的间隔为1
chart2.ChartAreas[0].AxisX.IntervalOffset = 1;? //设置X轴坐标偏移为1
chart2.ChartAreas[0].AxisX.LabelStyle.IsStaggered = true;
chart2.ChartAreas[0].AxisY.LabelStyle.Format = "0.00%";
chart2.Series[0].Label = "#VAL{P}";//设置标签文本 (在设计期通过属性窗口编辑更直观)
chart2.Series[0].IsValueShownAsLabel = true;//显示标签
chart2.ChartAreas[0].BackColor = Color.White;//设置背景为白色
//chart2.ChartAreas[0].Area3DStyle.Enable3D = true;//设置3D效果
//chart2.ChartAreas[0].Area3DStyle.PointDepth =
//chart2.ChartAreas[0].Area3DStyle.PointGapDepth = 50;//设置一下深度,看起来舒服点……
//chart2.ChartAreas[0].Area3DStyle.WallWidth = 0;//设置墙的宽度为0;
// 宽度
chart2.Series[0].BorderWidth = 2;
// 颜色
chart2.Series[0].Color = Color.Red;
int r = 0;
for (int n = 12; n < dt.Columns.Count - 2; n++)
{
if (list[r] != null && list[r] != "")
{
chart2.Series[0].Points.AddXY(dt.Columns[n].ColumnName, list[r]);
chart2.Series[0].IsValueShownAsLabel = true;
}
r++;
}

以下转载自:https://blog.youkuaiyun.com/luckypeng/article/details/18043421
这次所有属性设置都用代码(就当整理便于以后查询)。
在窗体放置一个Chart控件,未做任何设置;然后编写代码:
//设置
chart2.Legends[0].Enabled = false;//不显示图例
chart2.ChartAreas[0].BackColor = Color.White;//设置背景为白色
chart2.ChartAreas[0].Area3DStyle.Enable3D = true;//设置3D效果
chart2.ChartAreas[0].Area3DStyle.PointDepth =
chart2.ChartAreas[0].Area3DStyle.PointGapDepth = 50;//设置一下深度,看起来舒服点……
chart2.ChartAreas[0].Area3DStyle.WallWidth = 0;//设置墙的宽度为0;
chart2.ChartAreas[0].AxisY.LabelStyle.Format = "0%";//格式化,为了显示百分号
chart2.ChartAreas[0].AxisY.Interval = 0.05;//设置刻度间隔为5%
chart2.ChartAreas[0].AxisX.MajorGrid.Enabled =
chart2.ChartAreas[0].AxisY.MajorGrid.Enabled = false;//不显示网格线
chart2.ChartAreas[0].AxisX.Minimum = 0.5;//设置最小值,为了让第一个柱紧挨坐标轴
chart2.Series[0].Label = "#VAL{P}";//设置标签文本 (在设计期通过属性窗口编辑更直观)
chart2.Series[0].IsValueShownAsLabel = true;//显示标签
chart2.Series[0].CustomProperties = "DrawingStyle=Cylinder, PointWidth=1";//设置为圆柱形 (在设计期通过属性窗口编辑更直观)
chart2.Series[0].Palette = System.Windows.Forms.DataVisualization.Charting.ChartColorPalette.Pastel;//设置调色板
//数据
chart2.Series[0].Points.AddXY("<10",0.201);
chart2.Series[0].Points.AddXY("10~20", 0.395);
chart2.Series[0].Points.AddXY("20~30", 0.173);
chart2.Series[0].Points.AddXY("30~40", 0.136);
chart2.Series[0].Points.AddXY("40~50", 0.059);
chart2.Series[0].Points.AddXY("50~60", 0.015);
chart2.Series[0].Points.AddXY(">60", 0.022);
该博客分享了如何在C#中利用代码方式设置Chart控件,创建曲线图和柱状图。通过在窗体上添加Chart控件并编写相关代码,详细展示了绘制这两种图表的步骤。
1万+

被折叠的 条评论
为什么被折叠?



