制作水平条形图时,y轴上的值会缩短

时间:2017-03-16 07:45:20

标签: python matplotlib bar-chart

我制作了一个水平条形图,其中y轴为单词,x轴为整数。问题是,有些单词很长,以至于它在保存的图片中被截断了。当我在控制台中输入图表时,它看起来不错,但是当我保存它并尝试从文件夹中打开它时就不行了。

我一直在玩图像,但无济于事

    antal = []
    i=0
    for i in range(10):
        antal.append(int(new_object_list[i].count))
        i +=1


    ord_lista = []
    j = 0
    for j in range(10):
        ord_lista.append(str(new_object_list[j].word))
        j +=1

    y_pos = np.arange(len(ord_lista))
    plt.barh(y_pos, antal)
    plt.yticks(y_pos, ord_lista)


    plt.savefig("Barchart.png")
    im = Image.open("Barchart.png")
    bg = Image.new("RGB", im.size, (300,300,300))
    bg.paste(im,im)
    bg.save(r"Barchart1.gif")

1 个答案:

答案 0 :(得分:0)

您可以使用subplots_adjust()添加额外的间距,因此要在左侧添加更多空间,您可以执行以下操作:

plt.gcf().subplots_adjust(left=0.3)

例如:

import numpy as np
import matplotlib.pyplot as plt

ord_lista = ["long", "longer", "even longer", "even longer still"]
n = len(ord_lista)
values =  np.random.rand(n)
plt.barh(np.arange(n), values, align='center', fc='#80d0f1', ec='w')
plt.yticks(np.arange(n), ord_lista)
plt.gcf().subplots_adjust(left=0.25)
plt.show()

会给你:

matplotlib demo plot