如何创建包含 5 个子图的图表
How to create a chart which consists of 5 subcharts
我正在尝试创建一个包含五个子图表的图表图像。(见图)
所有 5 个子图表的 X 轴应该相同。
如何使用 MS 图表控件实现这一点?
目前我正在创建所有五个图表,但我不知道如何合并 xAxis 以及如何将所有 5 个子图表放入一个图像文件或图表中。
提前感谢您的帮助!
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 for 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;
你可以做到:
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 个子图表的 X 轴应该相同。
如何使用 MS 图表控件实现这一点?
目前我正在创建所有五个图表,但我不知道如何合并 xAxis 以及如何将所有 5 个子图表放入一个图像文件或图表中。
提前感谢您的帮助!
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 for 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;
你可以做到:
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])