制作水平杆时,Y轴上的值缩短

2024-04-25 18:54:23 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我一直在玩imagesize,但没用

    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")

Tags: inposnewforobjectrangeplt单词
1条回答
网友
1楼 · 发布于 2024-04-25 18:54:23

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

相关问题 更多 >