如何使用pandas DataFrame绘图函数绘制每个子图的ylabel

Jac*_*ADE 7 python plot matplotlib pandas subplot

默认情况下,使用subplots选项的pandas.DataFrame.plot()似乎不容易为每个子图绘制ylabel.我试图绘制一个pandas数据帧,在数据帧中每列有一个子图.到目前为止,代码不起作用:

fig = plt.figure(figsize=(10,10))
ax = plt.gca()
df.plot(y=vars, ax=ax, subplots=True, layout=(3,1), sharex=True, legend=False,)
ax.set_ylabel = ['y','x', 'z']
Run Code Online (Sandbox Code Playgroud)

但这并没有绘制任何标签.

Jia*_* Li 10

您可以分别在每个斧头上设置y标签.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# data
df = pd.DataFrame(np.random.randn(100,3), columns=list('ABC'))

# plot
axes = df.plot(figsize=(10, 10), subplots=True, sharex=True, legend=False)
axes[0].set_ylabel('yA')
axes[1].set_ylabel('yB')
axes[2].set_ylabel('yC')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 我之前尝试过类似的方法,但没有成功。我需要删除 `layout=(3,1), ` 才能正常工作。不知何故,指定布局不允许出现标签,并出现错误:`AttributeError:'numpy.ndarray'对象没有属性'set_ylabel'` (2认同)