使用Matplotlib我很新
我不知道如何将发现的内容应用于自己的图表,所以我决定发表自己的帖子
我使用以下代码生成条形图:
p = (len(dfrapport.index))
p1 = p * 2.5
p2 = p * 1.5
height = dfrapport['aantal']
bars = dfrapport['soort']
y_pos = np.arange(len(bars))
plt.bar(y_pos, height, color = ['black', 'red','orange', 'yellow', 'green', 'blue', 'cyan'])
plt.title('Aantal noodstoppen per categorie')
plt.xlabel('categorieën')
plt.ylabel('aantal')
plt.tick_params(axis='x', which='major', labelsize=p2)
plt.xticks(y_pos, bars)
plt.show()
但是我不知道如何更改情节的大小?
因为当我使用plt.figure(figsize=(p1,p2))
我得到一个带有正确标签的空白图(但是它是否将尺寸应用于以后创建的饼图?) 我最初想要创建的条形图具有基本的1-8标签。
我想根据创建的条形数量更改大小,因为有时我使用的数据不包含类别之一。
答案 0 :(得分:1)
对当前代码进行尽可能少的人为更改,方法是在定义p1
和p2
之后立即添加以下行:
plt.gcf().set_size_inches(p1,p2)
以上内容将设置Figure
用于绘制图形的当前pyplot
对象的大小。将来,您可能会转而使用Axes
-based interface to Matplotlib,因为它通常更强大,更灵活:
p = (len(dfrapport.index))
p1 = p * 2.5
p2 = p * 1.5
height = dfrapport['aantal']
bars = dfrapport['soort']
y_pos = np.arange(len(bars))
fig = plt.figure(figsize=(p1,p2))
ax = fig.gca()
ax.bar(y_pos, height, color = ['black', 'red','orange', 'yellow', 'green', 'blue', 'cyan'])
ax.set_title('Aantal noodstoppen per categorie')
ax.set_xlabel('categorieën')
ax.set_ylabel('aantal')
ax.xaxis.set_tick_params(which='major', labelsize=p2)
ax.set_xticks(y_pos, bars)
fig.show()
答案 1 :(得分:1)
plt.figure(figsize=(p1,p2))
是正确的方法。因此,这个问题尚不清楚,因为您只需要将其放入代码中即可,例如
p = (len(dfrapport.index))
p1 = p * 2.5
p2 = p * 1.5
plt.figure(figsize=(p1,p2))
# ...
plt.bar(...)
这也显示在问题中:How do you change the size of figures drawn with matplotlib?