图形组件Chart动态添加Series

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Chart1.DataSource = dtb;
string[] strcolor = new string[20];
strcolor[0] = "220, 224, 64, 10";
strcolor[1] = "220, 252, 180, 65";
strcolor[2] = "220, 159, 100, 100";
strcolor[3] = "220, 5, 100, 146";
strcolor[4] = "91,42,0";
strcolor[5] = "19,211,188";
strcolor[6] = "0,93,70";
strcolor[7] = "185,147,240";
strcolor[8] = "194,211,252";
strcolor[9] = "49,0,93";
strcolor[10] = "245,111,5";
strcolor[11] = "203,72,178";
strcolor[12] = "93,93,0";
strcolor[13] = "165,165,147";
strcolor[14] = "124,201,15";
strcolor[15] = "14,112,201";
strcolor[16] = "0,59,93";
strcolor[17] = "5,18,108";
strcolor[18] = "245,15,54";
strcolor[19] = "121,129,234";
Chart1.Series.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
Chart1.Series.Add(i.ToString());//添加
Chart1.Series[i.ToString()].ChartType = SeriesChartType.StackedBar;
Chart1.Series[i.ToString()].IsXValueIndexed = true;
Chart1.Series[i.ToString()].XValueMember = "Customer";
Chart1.Series[i.ToString()].YValueMembers = "StickCarQutity" + (i + 1);
Chart1.Series[i.ToString()].LegendText = dt.Rows[i]["level"].ToString();
Chart1.Series[i.ToString()].BorderColor = Color.FromArgb(180, 26, 59, 105);
Chart1.Series[i.ToString()].IsValueShownAsLabel = true;
if (i < 4)
{
string[] number = strcolor[i].ToString().Split(new Char[] { ',' });
int alpha = int.Parse(number[0].ToString());
int red = int.Parse(number[1].ToString());
int green = int.Parse(number[2].ToString());
int blue = int.Parse(number[3].ToString());
Chart1.Series[i.ToString()].Color = Color.FromArgb(alpha, red, green, blue);//颜色赋值
}
else
{
if(3<i&&i<20)
{
string[] number = strcolor[i].ToString().Split(new Char[] { ',' });
int red = int.Parse(number[0].ToString());
int green = int.Parse(number[1].ToString());
int blue = int.Parse(number[2].ToString());
Chart1.Series[i.ToString()].Color = Color.FromArgb(red, green, blue);
}
else
{

}
}
}
Chart1.DataBind();

不知道这个HTML文件有啥用呢!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<asp:Chart ID="Chart1" runat="server" DataMember="DefaultView" Height="700px" Width="800px">
<Legends>
<asp:Legend Docking="Top" Name="Default" BackColor="Transparent" Font="Trebuchet MS, 8pt, style=Bold">
</asp:Legend>
</Legends>
<Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="ChartArea1" IsSameFontSizeForAllAxes="True">
<AxisX LabelAutoFitMaxFontSize="8" LabelAutoFitMinFontSize="5" IsReversed="True">
<LabelStyle Font="Microsoft Sans Serif, 8pt" Interval="1" IntervalType="Auto" />
<ScaleBreakStyle CollapsibleSpaceThreshold="10" LineColor="Transparent" BreakLineStyle="None" />
<MinorGrid Interval="1" IntervalOffset="1" Enabled="False" />
<MajorGrid Interval="Auto" Enabled="False" />
<MajorTickMark Interval="Auto" Enabled="False" />
<MinorTickMark Interval="1" Enabled="False" />
</AxisX>
<AxisY LabelAutoFitMaxFontSize="8" LabelAutoFitMinFontSize="5">
<LabelStyle Interval="Auto" IntervalType="Auto" />
</AxisY>
<AxisX2 LabelAutoFitMaxFontSize="8" LabelAutoFitMinFontSize="5">
<MinorGrid Interval="1" IntervalOffset="1" Enabled="False" />
<MajorGrid Interval="Auto" />
<MajorTickMark Interval="Auto" />
<MinorTickMark Interval="1" Enabled="True" />
<LabelStyle Font="Microsoft Sans Serif, 8pt" />
</AxisX2>
<AxisY2 LabelAutoFitMaxFontSize="8" LabelAutoFitMinFontSize="5">
<LabelStyle Font="Microsoft Sans Serif, 7pt" />
<MajorGrid Enabled="False" />
</AxisY2>
</asp:ChartArea>
</ChartAreas>
</asp:Chart>

通过遍历添加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
for (int i = 0; i < x1.Count - 1; i++)
{
ArrayList xData = x2.GetRange(i, 2);
ArrayList yData = y2.GetRange(i, 2);
//动态生成series
chart1.Series.Add(i.ToString());
chart1.Series[i].ChartType = SeriesChartType.Line;//设置为折线
chart1.Series[i].Points.DataBindXY(xData, yData);
chart1.Series[i].BorderWidth = 3;//折线粗细
chart1.Series[i].Color = getColor(level[i]);//设置折线颜色


}


相关链接(侵删)

  1. 问题:C#Chart控件自动添加Series;结果:图形组件Chart动态添加Series
  2. C# 怎么向折线图动态添加series

=================我是分割线=================

欢迎到公众号来唠嗑: