代码之家  ›  专栏  ›  技术社区  ›  PyRsquared

在不传递标签的情况下,如何使用matplotlib增加字体大小?[副本]

  •  1
  • PyRsquared  · 技术社区  · 6 年前

    ax.set_yticklabels()

    例如,假设我有下面的y数据(对于本例,x数据无关紧要,因此可以设置 x=np.arange(len(y)) )

    import numpy as np
    import matplotlib.pylab as plt
    y = np.array([ 5840.5,  3579.5,  2578. ,   965.5,   748. ,   485. ])
    fig,ax = plt.subplots(figsize=(12,8))
    plt.plot(np.arange(len(y)), y)
    plt.show()
    

    enter image description here

    现在我想做的是增加y记号的字体大小,但是我想保持标签与matplotlib创建它们的位置相同。所以我试过了

    ax.set_yticklabels(fontsize=20)
    >>> TypeError: set_yticklabels() missing 1 required positional argument: 'labels'
    

    y = np.array([ 5840.5,  3579.5,  2578. ,   965.5,   748. ,   485. ])
    fig,ax = plt.subplots(figsize=(12,8))
    plt.plot(np.arange(len(y)), y)
    ax.set_yticklabels(np.arange(0,y.max(),1000), fontsize=20)
    plt.show()
    

    enter image description here

    y ,而不仅仅是上面给出的这个例子,所以传递一个特定的标签是不可能的。

    enter image description here

    2 回复  |  直到 6 年前
        1
  •  3
  •   DavidG    6 年前

    您可以设置ytick rc param,该参数将使用以下方法更改每个后续绘图的ytick fontsize:

    import matplotlib
    matplotlib.rc('ytick', labelsize=20)
    

    或者,如果只对一个地物执行此操作,可以循环遍历每个标签并更改字体大小:

    for label in ax.get_yticklabels():
        label.set_fontsize(20)
    
        2
  •  1
  •   abc    6 年前

    你可以用 plt.yticks() 具体如下:

    fig,ax = plt.subplots(figsize=(12,8))
    plt.plot(np.arange(len(y)), y)
    plt.yticks(fontsize=20)
    
    plt.show()