python - iPython notebook - 在子图次要 y 轴上设置 ylim

标签 python matplotlib plot anaconda

我是 Python 的新手,我正在使用 iPython notebook。

我想使用次坐标轴在子图中绘制数据。我可以设置 ylim 但它只影响辅助 y 轴(在右侧)。我找不到控制主 y 轴(左侧)上的 ylim 的方法。我希望主 y 轴的限制为 [0,40],辅助 y 轴的限制为 [0,100]。


#import matplotlib.pylab as plt
import numpy as np
import pandas as pd
import csv
import string
%pylab inline
%matplotlib inline

# READ IN FIRST CSV
espr = pd.read_csv('out.csv')
df_e = pd.DataFrame(espr)

#READ IN SECOND CSV
heat = pd.read_csv('heat.csv',encoding='ISO-8859-1',low_memory=False)
heat = heat[2:]
df_h = pd.DataFrame(heat,dtype='float64')
df_h = df_h.reset_index(drop=True)

#READ IN THIRD CSV
temp = pd.read_csv('temp.csv',encoding='ISO-8859-1',low_memory=False)
temp = temp[2:]
df_t = pd.DataFrame(temp,dtype='float64')
df_t = df_t.reset_index(drop=True)

# CONCATENATE DATAFRAMES
df_e = df_e[[' building:time step (-)', ' building:zone 01:air point:temperature (oC)', ' building:zone 05:air point:temperature (oC)']]
df_h = df_h[['TIME', 'Tdb_amb']]
df_t = df_t[['Tavg_diurn', 'Tavg_seas']]
sim = pd.concat([df_h, df_t, df_e],axis=1)

# SEPARATE DATA FOR PLOTTING
mar = sim[14160:21600]

这是我遇到困难的地方,我读过有关设置 twinx() 以设置不同轴的属性的信息,但每当我尝试实现它时,它告诉我它不知道 twinx 是什么。

fig, axes = plt.subplots(nrows=2, ncols=1)
fig.set_figheight(25)
fig.set_figwidth(20)

mar[' building:zone 01:air point:temperature (oC)'].plot(ax=axes[0])
mar[' building:zone 05:air point:temperature (oC)'].plot(ax=axes[0])
mar['Tavg_diurn'].plot(secondary_y=True, ax=axes[0])
mar['Tavg_seas'].plot(secondary_y=True, ax=axes[0])
ylim([0,100])

fig.tight_layout()

在此先感谢您的帮助。

最佳答案

好吧,如果 axes 是两个轴的数组,那么您可以这样做:

axes[0].set_ylim(0, 40)
axes[1].set_ylim(0, 100)

或者使用 pyplot 的 twinx() 你可以尝试:

axes[0] = ax2.twinx()
axes[0].set_ylim(0, 40)
ax2.set_ylim(0, 100)

关于python - iPython notebook - 在子图次要 y 轴上设置 ylim,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28095852/

相关文章:

python - pandas df.plot.scatter 失败但 df.plot 生成绘图

python - 绘制元组列表(包含图形编号)

python - 如何将十六进制字符串再次转换为密文进行解密

python - 如何显示来自网络的图像?

python-2.7 - 使用散点图在颜色条上显示所有颜色

python - 如何知道 Matplotlib 为散点图使用了多少个数据点

python - 如何偶尔刷新一次Python脚本?

python - "ImportError: libcublas.so.10.0"仅在使用 GUI 时用于 Tensorflow

python - 如何在两点之间创建线段?

r - Rstudio将不会生成图:阴影图形设备错误:r错误4(R代码执行错误)