gpt4 book ai didi

python - 将第二个数据系列添加到 Matplotlib 中的子图

转载 作者:太空宇宙 更新时间:2023-11-03 18:36:26 24 4
gpt4 key购买 nike

所以我有这段代码可以很好地生成子图,并放置在网格中。数据位于 Pandas DataFrame 中。

我不知道如何向子图中添加第二个数据系列?所以现在我绘制了 fullrs.Units 并且我想添加merged2.fcast.plot(style='r')我似乎缺少一个引用来获取该图次要情节?我尝试过的一些事情最终导致了“循环”之外的绘图。

#area_tabs=list(map(str, range(1, 28)))
area_tabs=['1','2','3']
nrows = int(math.ceil(len(area_tabs) / 2.))
figlen=nrows*7 #adjust the figure size height to be sized to the number of rows
plt.rcParams['figure.figsize'] = 25,figlen
fig, axs = plt.subplots(nrows, 2, sharey=False)
for ax, area_tabs in zip(axs.flat, area_tabs):
fullyrs,lastq,fcast_yr,projections,yrahead,aname,actdf,merged2,mergederrs,montdist,ols_test, mergedfcst=do_projections(actdf,aname)
# ax=merged2.fcast.plot(style='r') <<<< I want to get this to plot in the same sub-plot as below
fullyrs.Units.plot(ax=ax, title='Area: {0} Forecast for 2014 {1} vs. Actual 2013 of {2} '.format(unicode(aname),unicode(merged2['fcast'][-1:].values), lastyrtot))

最佳答案

您已经使用 plt.subplots 创建了 ax,因此您只需将 ax=ax 传递给 merged2.fcast .plot pandas 调用而不是设置 ax=...,这会创建一个新轴。例如。

for ax, area_tabs in zip(axs.flat, area_tabs):  
fullyrs,lastq,fcast_yr,projections,yrahead,aname,actdf,merged2,mergederrs,montdist,ols_test, mergedfcst=do_projections(actdf,aname)
merged2.fcast.plot(ax=ax, style='r') <<<< I want to get this to plot in the same sub-plot as below
fullyrs.Units.plot(ax=ax, title='Area: {0} Forecast for 2014 {1} vs. Actual 2013 of {2} '.format(unicode(aname),unicode(merged2['fcast'][-1:].values), lastyrtot))

您可能已经知道这一点,但您也可以使用 fig, axs = plt.subplots(nrows, 2, sharey=False, Figsize=(25, 7*nrows)) 设置图形大小而不是在 rcparams 中全局设置它。当然,您可能想在代码的其余部分中控制其他数字。

关于python - 将第二个数据系列添加到 Matplotlib 中的子图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21516536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com