Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 更改水平条形图大小matplotlib_Python_Matplotlib - Fatal编程技术网

Python 更改水平条形图大小matplotlib

Python 更改水平条形图大小matplotlib,python,matplotlib,Python,Matplotlib,我试图用mathplotlib创建一个水平的barblot,但遇到了几个问题 我需要改变整个地块的大小。目前默认为800x600。我想自己设置参数,这样绘图就可以调整大小。因为例如,目前有太多的酒吧之间的空白空间,我想扩大酒吧的宽度 如果文本(条形标题或数值)不适合打印,则将其忽略。我想扩大屏幕,这样文本就不会消失 下面是代码输出的示例图像: 以下是示例代码: import numpy as np import matplotlib.pyplot as plt people = ('Tom

我试图用mathplotlib创建一个水平的barblot,但遇到了几个问题

  • 我需要改变整个地块的大小。目前默认为800x600。我想自己设置参数,这样绘图就可以调整大小。因为例如,目前有太多的酒吧之间的空白空间,我想扩大酒吧的宽度

  • 如果文本(条形标题或数值)不适合打印,则将其忽略。我想扩大屏幕,这样文本就不会消失

  • 下面是代码输出的示例图像:

    以下是示例代码:

    import numpy as np
    import matplotlib.pyplot as plt
    
    people = ('Tom sadf hasidfu hasdufhas d', 'Dick', 'Harry', 'Slim')
    y_pos = np.arange(len(people))
    performance = 3 + 10 * np.random.rand(len(people))
    
    plt.barh(y_pos, performance, align='center', height=0.3, color="skyblue")
    plt.yticks(y_pos, people)
    plt.xlabel('Performance')
    plt.title('How fast do you want to go today?')
    
    for i, v in enumerate(performance):
        plt.text(v + 0.5, i, str(v), color='blue', fontweight='bold')
    
    #plt.show()
    
    filename = "myfilename.png"
    plt.savefig(filename)
    

    有很多方法可以更改图形大小和调整绘图参数。他们都可以找到使用搜索引擎的选择

    举个例子,可以通过
    figsize
    参数更改图形大小,通过调用
    plt.tight_layout
    可以包含标签,并且可以通过
    plt.xlim
    设置限制

    import numpy as np
    import matplotlib.pyplot as plt
    
    people = ('Tom Hanswurst Fitzgerald', 'Dick', 'Harry', 'Slim')
    y_pos = np.arange(len(people))
    performance = 3 + 10 * np.random.rand(len(people))
    
    plt.figure(figsize=(8,4))
    plt.barh(y_pos, performance, align='center', height=0.3, color="skyblue")
    plt.yticks(y_pos, people)
    plt.xlim(0,np.max(performance)*1.4)
    plt.xlabel('Performance')
    plt.title('How fast do you want to go today?')
    
    for i, v in enumerate(performance):
        plt.text(v + 0.5, i, str(v), color='blue', fontweight='bold')
    
    plt.tight_layout()
    plt.show()
    

    有很多方法可以更改图形大小和调整绘图参数。他们都可以找到使用搜索引擎的选择

    举个例子,可以通过
    figsize
    参数更改图形大小,通过调用
    plt.tight_layout
    可以包含标签,并且可以通过
    plt.xlim
    设置限制

    import numpy as np
    import matplotlib.pyplot as plt
    
    people = ('Tom Hanswurst Fitzgerald', 'Dick', 'Harry', 'Slim')
    y_pos = np.arange(len(people))
    performance = 3 + 10 * np.random.rand(len(people))
    
    plt.figure(figsize=(8,4))
    plt.barh(y_pos, performance, align='center', height=0.3, color="skyblue")
    plt.yticks(y_pos, people)
    plt.xlim(0,np.max(performance)*1.4)
    plt.xlabel('Performance')
    plt.title('How fast do you want to go today?')
    
    for i, v in enumerate(performance):
        plt.text(v + 0.5, i, str(v), color='blue', fontweight='bold')
    
    plt.tight_layout()
    plt.show()