Matplotlib:如何更改双栏图的大小

时间:2018-06-28 10:25:42

标签: python matplotlib

我已使用以下代码在matplotlib中绘制了双条形图:

x = pd.Series(range(12))
y = self.cust_data['Cluster_ID'].value_counts().sort_index()
z = self.cust_data['Cluster_ID_NEW'].value_counts().sort_index()
plt.bar(x + 0.0, y, color = 'b', width = 0.5)
plt.bar(x + 0.5, z, color = 'g', width = 0.5)
plt.legend(['Old Cluster', 'New Cluster'])
plt.savefig("C:\\Users\\utkarsh.a.ranjan\\Documents\\pyqt_data\\generate_results\\bar", bbox_inches='tight',pad_inches=0.1)
plt.clf()

我想使用figsize参数使结果图的尺寸更大。当绘制单个条形图时,这很容易,但是在这里,我对放置figsize参数的位置感到困惑。

3 个答案:

答案 0 :(得分:1)

您可以使用figsize

设置大小
import matplotlib.pyplot as plt

f, ax = plt.subplots(figsize=(18,5)) # set the size that you'd like (width, height)
plt.bar([1,2,3,4], [0.1,0.2,0.3,0.4], label = 'first bar')
plt.bar([10,11,12,13], [0.4,0.3,0.2,0.1], label = 'second bar')
ax.legend(fontsize = 14)

enter image description here

答案 1 :(得分:1)

执行此操作的最佳方法是采用面向对象的方法:

fig, ax = plt.subplots(figsize=(12,12))
ax.bar(x + 0.0, y, color = 'b', width = 0.5)
ax.bar(x + 0.5, z, color = 'g', width = 0.5)
ax.legend(['Old Cluster', 'New Cluster'])
fig.savefig("C:\\Users\\utkarsh.a.ranjan\\Documents\\pyqt_data\\generate_results\\bar", bbox_inches='tight',pad_inches=0.1)
plt.clf()

您可能还想将格式添加到文件名中。如果不是,则格式从您的rc参数savefig.format中获取,通常为png

顺便说一句,如果您想尽可能地坚持自己的代码,也可以在plt.bar(...)之前添加以下行:

plt.figure(figsize=(12,12))

答案 2 :(得分:0)

增加绘图大小的一个非常简单的方法是在您的代码之前简单地添加这行代码:

plt.rcParams["figure.figsize"] = (10, 5)

您可以根据需要更改图形大小。