【问题标题】:values on y-axis cut short when making horizontal barchart制作水平条形图时 y 轴上的值缩短
【发布时间】:2017-03-16 07:45:19
【问题描述】:

我正在制作一个水平条形图,其中 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")

【问题讨论】:

    标签: python matplotlib bar-chart


    【解决方案1】:

    您可以使用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()
    

    会给你:

    【讨论】:

      猜你喜欢
      • 2013-11-22
      • 1970-01-01
      • 2017-09-19
      • 1970-01-01
      • 1970-01-01
      • 2020-03-20
      • 2017-10-07
      • 2021-05-02
      • 1970-01-01
      相关资源
      最近更新 更多