我正在使用熊猫创建条形图。这是一个例子:
df=pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])
df.plot(kind='bar')
我想在一个图中绘制两个子图,并在一个条形图上有a和b,在另一个条形图上有c和d。我该怎么做?
此外,如果我想将两个子图包含在另一个子图中但不是由pandas创建,那么该如何做呢?所以这是一个3x1数字,其中两个子图来自使用pandas的数据框,另一个不使用pandas。
对此进行了第二次尝试,但进行了一些修改。
df=pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])
x=[1,2,3,4,5]
y=[1,4,9,16,25]
fig, axes = plt.subplots(figsize=(8,8),nrows=2, ncols=2)
ax1=plt.subplot(2,2,1)
plt.plot(x,y)
#ax2=plt.subplot(2,2,2)
df["b"].plot(ax=axes[0,1], kind='bar', grid=True)
df["c"].plot(ax=axes[1,0], kind='bar', grid=True)
df["d"].plot(ax=axes[1,1], kind='bar', grid=True)
ax1.grid(True)
ax1.set_ylabel('Test')
ax1.set_xlabel('Test2')
#ax2.set_ylabel('Test')
如何在子图中为条形图添加轴标签?注意我已经注释了ax2 = plt.subplot(2,2,2),因为我正在测试它,但这会完全删除条形图并添加标签。为什么会这样做,我该如何解决这个问题呢?下面是ax2的输出...没有评论。
答案 0 :(得分:1)
你可以从这开始玩:
%matplotlib inline
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df=pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])
fig, axes = plt.subplots(nrows=1, ncols=2)
df[["a","b"]].plot(ax=axes[0],kind='bar')
df[["c", "d"]].plot(ax=axes[1], kind='bar');
然后你可以查看this