C# 如何创建包含5个子图表的图表

C# 如何创建包含5个子图表的图表,c#,asp.net,charts,mschart,C#,Asp.net,Charts,Mschart,我正在尝试创建一个由五个子图表组成的图表图像 图表的X轴应与所有5个子图表的X轴相同 如何使用MS图表控件实现这一点 目前我正在创建所有五个图表,但我不知道如何合并xAxis以及如何将所有5个子图表放入图像文件或图表中 提前谢谢你的帮助 MsChart允许多个图表区。每个图表区可以有多个系列。 根据您的屏幕设计,将有5个图表区。每个图表区将添加1个系列 var chartArea1 = MyChart.ChartAreas.Add("ChartArea 1"); : var chartArea

我正在尝试创建一个由五个子图表组成的图表图像

图表的X轴应与所有5个子图表的X轴相同

如何使用MS图表控件实现这一点

目前我正在创建所有五个图表,但我不知道如何合并xAxis以及如何将所有5个子图表放入图像文件或图表中


提前谢谢你的帮助

MsChart
允许多个
图表区
。每个图表区可以有多个
系列
。
根据您的屏幕设计,将有5个图表区。每个
图表区将添加1个系列

var chartArea1 = MyChart.ChartAreas.Add("ChartArea 1");
:
var chartArea5 = MyChart.ChartAreas.Add("ChartArea 5");
将系列添加到图表并指定图表区域

MyChart.Series[0].ChartArea = chartArea1.Name;
MyChart.Series[5].ChartArea = chartArea5.Name;
现在,要获得公共X轴,请指定

chartArea1.AlignWithChartArea = chartArea5.Name;
chartArea2.AlignWithChartArea = chartArea5.Name;
您也可以参考MSChart的

图表区位置更新 下面的代码显示如何在图表控件中定位图表区域。注意:-X和Y位置以百分比表示,而不是像素、twips等

chartArea1.Position.Y = 0;
chartArea1.Position.Height = 43;
chartArea1.Position.Width = 100;
chartArea2.Position.Y = chartArea1.Position.Bottom + 1;
chartArea2.Position.Height = chartArea1.Position.Height;
chartArea2.Position.Width = chartArea1.Position.Width;
你可以这样做:

ccc =[1, 2, 3, 4,5]
aaa = [11, 8, 12, 3,6]
bbb = [22,24,21,19,20]
ddd = [1,0,2,0,5]
fff = [32,32,41,35,16]
df = pd.DataFrame({'ID': ccc, 'AAA': aaa,'BBB': bbb, 'DDD': ddd, 'FFF': fff })

f, axarr =plt.subplots(5, 1, figsize=(14, 7))
df['BBB'].plot(ax=axarr[0])
df['AAA'].plot(ax=axarr[1])
df['FFF'].plot(ax=axarr[2])
df['DDD'].plot(ax=axarr[3])
df['BBB'].plot(ax=axarr[4])

谢谢你的提示。但问题是,这5张图表不会一张接一张地画出来。我得到3张图表,它们在另一张图表的下方,最后2张将在正确的视线上或在前两张图表的上方绘制。这意味着你无法阅读前两张图表,因为正如我所说,有两张图表相互重叠。我怎样才能解决这个问题?