我正在尝试创建一个包含五个子图表的图表图像。(参见图片)
图表的X轴对于所有5个子图表应该相同。
我如何通过MS Chart Controls实现这一目标?
目前我正在创建所有五个图表,但我不知道如何合并xAxis以及如何将所有5个子图表放入图像文件或图表中。
先谢谢你的帮助!
答案 0 :(得分:1)
MsChart
允许多个ChartArea
。每个图表区域可以有多个Series
。
根据您的屏幕设计,将有5个图表区域。每个ChartArea
都会添加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;
您也可以参考link获取MSChart。
图表区域展示位置更新 下面的代码显示了如何在图表控件中定位图表区域。注意: - X和Y位置是百分比而不是像素,缇等。
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;
答案 1 :(得分:0)
您可以这样做:
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])