精华内容
下载资源
问答
  • I am creating a figure in Matplotlib like this: 我正在Matplotlib中创建一个像这样的人物: from matplotlib import p

    本文翻译自:How do I set the figure title and axes labels font size in Matplotlib?

    I am creating a figure in Matplotlib like this: 我正在Matplotlib中创建一个像这样的人物:

    from matplotlib import pyplot as plt
    
    fig = plt.figure()
    plt.plot(data)
    fig.suptitle('test title')
    plt.xlabel('xlabel')
    plt.ylabel('ylabel')
    fig.savefig('test.jpg')
    

    I want to specify font sizes for the figure title and the axis labels. 我想指定图标题和轴标签的字体大小。 I need all three to be different font sizes, so setting a global font size ( mpl.rcParams['font.size']=x ) is not what I want. 我需要三个不同的字体大小,所以设置全局字体大小( mpl.rcParams['font.size']=x )不是我想要的。 How do I set font sizes for the figure title and the axis labels individually? 如何单独设置图标题和轴标签的字体大小?


    #1楼

    参考:https://stackoom.com/question/qDRE/如何在Matplotlib中设置图标题和轴标签字体大小


    #2楼

    Functions dealing with text like label , title , etc. accept parameters same as matplotlib.text.Text . 处理labeltitle等文本的函数接受与matplotlib.text.Text相同的参数。 For the font size you can use size/fontsize : 对于字体大小,您可以使用size/fontsize

    from matplotlib import pyplot as plt    
    
    fig = plt.figure()
    plt.plot(data)
    fig.suptitle('test title', fontsize=20)
    plt.xlabel('xlabel', fontsize=18)
    plt.ylabel('ylabel', fontsize=16)
    fig.savefig('test.jpg')
    

    For globally setting title and label sizes, mpl.rcParams contains axes.titlesize and axes.labelsize . 对于全局设置titlelabel大小, mpl.rcParams包含axes.titlesizeaxes.labelsize (From the page): (来自页面):

    axes.titlesize      : large   # fontsize of the axes title
    axes.labelsize      : medium  # fontsize of the x any y labels
    

    (As far as I can see, there is no way to set x and y label sizes separately.) (据我所知,没有办法单独设置xy标签尺寸。)

    And I see that axes.titlesize does not affect suptitle . 我看到axes.titlesize不会影响suptitle I guess, you need to set that manually. 我想,你需要手动设置。


    #3楼

    You can also do this globally via a rcParams dictionary: 您也可以通过rcParams字典全局执行此操作:

    import matplotlib.pylab as pylab
    params = {'legend.fontsize': 'x-large',
              'figure.figsize': (15, 5),
             'axes.labelsize': 'x-large',
             'axes.titlesize':'x-large',
             'xtick.labelsize':'x-large',
             'ytick.labelsize':'x-large'}
    pylab.rcParams.update(params)
    

    #4楼

    If you're more used to using ax objects to do your plotting, you might find the ax.xaxis.label.set_size() easier to remember, or at least easier to find using tab in an ipython terminal. 如果您更习惯使用ax对象进行绘图,则可能会发现ax.xaxis.label.set_size()更容易记住,或者至少更容易使用ipython终端中的tab找到。 It seems to need a redraw operation after to see the effect. 看来效果似乎需要重绘操作。 For example: 例如:

    import matplotlib.pyplot as plt
    
    # set up a plot with dummy data
    fig, ax = plt.subplots()
    x = [0, 1, 2]
    y = [0, 3, 9]
    ax.plot(x,y)
    
    # title and labels, setting initial sizes
    fig.suptitle('test title', fontsize=12)
    ax.set_xlabel('xlabel', fontsize=10)
    ax.set_ylabel('ylabel', fontsize='medium')   # relative to plt.rcParams['font.size']
    
    # setting label sizes after creation
    ax.xaxis.label.set_size(20)
    plt.draw()
    

    I don't know of a similar way to set the suptitle size after it's created. 我不知道在创建之后设置suptitle大小的类似方法。


    #5楼

    To only modify the title's font (and not the font of the axis) I used this: 要仅修改标题的字体(而不是轴的字体),我使用了这个:

    import matplotlib.pyplot as plt
    fig = plt.Figure()
    ax = fig.add_subplot(111)
    ax.set_title('My Title', fontdict={'fontsize': 8, 'fontweight': 'medium'})
    

    The fontdict except all kwargs from matplotlib.text.Text . 除了matplotlib.text.Text中的所有kwargs之外的fontdict。


    #6楼

    An alternative solution to changing the font size is to change the padding. 更改字体大小的替代解决方案是更改填充。 When Python saves your PNG, you can change the layout using the dialogue box that opens. 当Python保存您的PNG时,您可以使用打开的对话框更改布局。 The spacing between the axes, padding if you like can be altered at this stage. 如果您愿意,可以在此阶段更改轴之间的间距,填充。

    展开全文
  • Matplotlib使刻度标签字体变小

    千次阅读 2020-12-09 13:03:28
    import matplotlib.pyplot as pltimport numpy as npdef xticklabels_example():fig = plt.figure()x = np.arange(20)y1 = np.cos(x)y2 = (x**2)y3 = (x**3)yn = (y1,y2,y3)COLORS = ('b','g','...

    以下代码仅用于说明目的,不一定进行优化。

    import matplotlib.pyplot as plt

    import numpy as np

    def xticklabels_example():

    fig = plt.figure()

    x = np.arange(20)

    y1 = np.cos(x)

    y2 = (x**2)

    y3 = (x**3)

    yn = (y1,y2,y3)

    COLORS = ('b','g','k')

    for i,y in enumerate(yn):

    ax = fig.add_subplot(len(yn),1,i+1)

    ax.plot(x, y, ls='solid', color=COLORS[i])

    if i != len(yn) - 1:

    # all but last

    ax.set_xticklabels( () )

    else:

    for tick in ax.xaxis.get_major_ticks():

    tick.label.set_fontsize(14)

    # specify integer or one of preset strings, e.g.

    #tick.label.set_fontsize('x-small')

    tick.label.set_rotation('vertical')

    fig.suptitle('Matplotlib xticklabels Example')

    plt.show()

    if __name__ == '__main__':

    xticklabels_example()

    展开全文
  • matplotlib添加字体2.画图时自定义字体格式2.1 用`fontproperties`参数的一类方法2.2 用`prop`参数的一类方法2.3 用`fontdict`参数的一类方法2.4 汇总 1.向matplotlib添加字体 比如添加Times New Roman字体,参照...

    1.向matplotlib添加字体

    比如添加Times New Roman字体,参照此篇博客

    2.画图时自定义字体格式

    from matplotlib import pyplot as plt
    
    fig, ax = plt.subplots()
    

    2.0 修改全局字体

    对于Axes对象设置刻度字体很麻烦(先设定位置再设定文字)。有一条捷径就是先设置全局字体为预期的刻度字体,然后再设置别的地方的字体,如较为容易设置的标题字体、坐标轴标签字体、图例字体等。

    plt.rc('font',family='Times New Roman', size=15)
    

    2.1 用fontproperties参数的一类方法

    这一类方法包括plt.xlabel, plt.ylabel, ax.set_xlabel, ax.set_ylabel, plt.xticks, plt.yticks, plt.title, ax.set_title
    首先实例化一个FontProperties类,然后在调用函数时传给fontproperties

    from matplotlib import font_manager as fm
    
    font_properties = fm.FontProperties(**kwargs)
    plt.xlabel('xlabel', fontproperties=font_properties)
    plt.yticklabels(fontproperties=font_properties)
    

    其中可以指定的关键字参数有如下这些在这里插入图片描述

    2.2 用prop参数的一类方法

    这类方法主要是绘制图例函数plt.legend, ax.legend
    首先定义一个fontdict,然后在调用函数时把fontdict传给prop参数
    其中fontdict的可选键名与FontProperties的可选参数名一样

    fontdict = {'family':'Times New Roman', 'size':19}
    plt.legend(loc='best',prop=fontdict)
    

    2.3 用fontdict参数的一类方法

    其余包括plt.xlabel, plt.ylabel,plt.text ax.text ax.set_xticklabels ax.set_yticklabels等。
    (没想到吧,plt设定ticklabelAxes对象设定ticklabels方法竟然不一样!!)
    也是定义一个fontdict,只不过这次传给的是fontdict参数。

    font_dict = {'math_fontfamily':'cm', 'size':19}
    plt.text(r'$S = \pi r^2$',fontdict=font_dict)
    xticks = ax.get_xticks()
    ax.set_xticks(xticks)
    ax.set_xticklabels(xticks, fontdict=font_dict)
    

    2.4 汇总

    方法位置参数名传入的参数类型
    plt.xlabel, plt.ylabel, ax.set_xlabel, ax.set_ylabel, plt.xticks, plt.yticks,plt.title,ax.set_titlefontpropertiesFontProperties实例
    plt.legend, ax.legendpropfontdict字典
    plt.xlabel, plt.ylabel,plt.text, ax.text, ax.set_xticklabels, ax.set_yticklabelsfontdictfontdict字典
    展开全文
  • matplotlib字体大小相关设置

    万次阅读 2017-06-05 21:58:23
    ax = plt.subplot(111) # 设置刻度字体大小 plt.xticks(fontsize=...# 设置坐标标签字体大小 ax.set_xlabel(..., fontsize=20) ax.set_ylabel(..., fontsize=20) # 设置图例字体大小 ax.legend(..., fontsize=20) 选择
    ax = plt.subplot(111)
    # 设置刻度字体大小
    plt.xticks(fontsize=20)
    plt.yticks(fontsize=20)
    # 设置坐标标签字体大小
    ax.set_xlabel(..., fontsize=20)
    ax.set_ylabel(..., fontsize=20)
    # 设置图例字体大小
    ax.legend(..., fontsize=20)
    选择如何显示刻度 
    ax.xaxis.set_ticks_position(‘none’) 
    ax.yaxis.set_ticks_position(‘right’)
    
    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.arange(1, 11)
    
    fig = plt.figure(1)
    ax1 = plt.subplot(2, 1, 1)
    ax2 = plt.subplot(2, 1, 2)
    l1, = ax1.plot(x, x*x, 'r')             #这里关键哦
    l2, = ax2.plot(x, x*x, 'b')           # 注意
    
    plt.legend([l1, l2], ['first', 'second'], loc = 'upper right')             #其中,loc表示位置的;
    
    plt.show()
    'best'         : 0, (only implemented for axes legends)(自适应方式)
    'upper right'  : 1,
    'upper left'   : 2,
    'lower left'   : 3,
    'lower right'  : 4,
    'right'        : 5,
    'center left'  : 6,
    'center right' : 7,
    'lower center' : 8,
    'upper center' : 9,
    'center'       : 10,
    Keyword
    Description
    loc
    a location code
    prop
    the font property (matplotlib.font_manager.FontProperties 对象)
    eg
    song_font = matplotlib.font_manager.FontProperties(fname='simsun.ttc', size=8)
    fontsize
    the font size (和prop互斥,不可同时使用)
    markerscale
    the relative size of legend markers vs. original
    numpoints
    the number of points in the legend for line
    scatterpoints
    the number of points in the legend for scatter plot
    scatteryoffsets
    a list of yoffsets for scatter symbols in legend
    frameon
    if True, draw a frame around the legend. If None, use rc
    fancybox
    if True, draw a frame with a round fancybox. If None, use rc
    shadow
    if True, draw a shadow behind legend
    ncol
    number of columns
    borderpad
    the fractional whitespace inside the legend border
    labelspacing
    the vertical space between the legend entries
    handlelength
    the length of the legend handles
    handleheight
    the length of the legend handles
    handletextpad
    the pad between the legend handle and text
    borderaxespad
    the pad between the axes and legend border
    columnspacing
    the spacing between columns
    title
    the legend title
    bbox_to_anchor
    the bbox that the legend will be anchored.
    bbox_transform
    the transform for the bbox. transAxes if None.
    
    展开全文
  • 但是,它只改变饼图内部百分比标签字体大小,而外部标签则不受影响。在我想增加上面饼图中标签A,B,C等的字体大小。在我的代码:fig1, ax1 = plt.subplots(figsize=(24,12))flavor_pie = ax1.pie(data2.Count_Of_...
  • 置方法主要参考http://blog.sciencenet.cn/blog-43412-343002.html中的第一种方法,第二种方法在ubuntu中...安装matplotlib时,我采用的是直接使用下面的apt命令进行安装:sudo apt-get install python-matplotlib...
  • Matplotlib调整字体大小

    千次阅读 2020-12-28 10:44:19
    Background 调整字体的大小 Methods import matplotlib.pyplot as plt # 代码中的“...”代表...# 设置坐标标签字体大小 ax.set_xlabel(..., fontsize=20) ax.set_ylabel(..., fontsize=20) # 设置图例字体大小 ax.leg
  • Matplotlib画图之调整字体大小

    万次阅读 2019-08-08 12:21:55
    Matplotlib画图之调整字体大小 在我们处理数据的时候,需要对大量的数据进行绘图...下面是代码解释如何读取csv数据,设置刻度、图例和坐标标签字体大小,绘制图像。 #coding:utf-8 import pandas as pd import m...
  • 解决Matplotlib中Times New Roman字体无法改变字体 问题: 在画图中使用times new roman字体时,默认为粗体,并且无法通过weight属性调节粗细。 方法: 找到目录/Users/jc/anaconda3/lib/python3.6/site-packages/...
  • 一张字体调整好的示例图: 字体大小就是 fontsize...# 设置坐标标签字体大小 ax.xlabel(..., fontsize=20) ax.ylabel(..., fontsize=20) # 设置图例字体大小 ax.legend(..., fontsize=20) 实战: import matplotlib.
  • ylabel 的字体大小 plt.xlabel('transaction_date', fontsize=20) # 或者 plt.xlabel("x",fontdict=font_dict) plt.ylabel("y",fontdict=font_dict) 设置图例字体的大小 fontdict_prop = {'family' : 'Times New ...
  • python – Matplotlib表的字体大小

    千次阅读 2020-12-12 09:53:10
    在Python中使用Matplotlib(2.7.9).我必须在子图中绘制一个表(在这种情况下,子图名称是选项卡)但我似乎无法找到更改表的字体大小的方法(http://imgur.com/0Ttvzee – 左下角).安特曼对结果感到高兴,我不是.这是我...
  • 方法 网上很多方法都是说在xticks中添加fontsize参数, 但是我尝试之后并没有用, 无奈之下查看了一波源代码, 上面有关于如何调整标签字体的方法,具体如下: plt.tick_params(labelsize='small') 其中的labelsize参数...
  • linux中使用matplotlib缺失中文字体的解决方案 在linux中调用matplotlib画图时,如果label中有中文,需要通过以下语句指定字体: import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] ...
  • 问题 用jupyter画图,发现默认字体无法显示,如下图 报错显示是:大概意思是缺少字体 RuntimeWarning: Glyph 21508 missing from ...plt.rcParams['font.sans-serif']=['SimHei'] #显示中文标签 plt.rcParams['axes.un
  • 【Python基础】matplotlib字体设置看这一篇就够了

    万次阅读 多人点赞 2020-12-14 11:00:00
    本文示例文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes❞1 简介matplotlib作为数据可视化的...
  • matplotlib图例、标签、坐标轴刻度的字体设置

    万次阅读 多人点赞 2018-10-18 11:01:22
    字体都设置成为“Times New Roman” plt.figure(figsize=[15,8]) plt.scatter(X, Y, label = 'RealValue') plt.plot(X, func(X, a, b), 'red', label = 'CurveLine') plt.title(station, fontdict={'family' : '...
  • matplotlib字体设置看这一篇就够了

    千次阅读 2020-12-17 20:37:00
    1 简介matplotlib作为数据可视化的利器,被广泛用于数据分析之中,但不太友好的是matplotlib中书写非英文文字内容时,如果不事先对字体进行相关设置,会发现绘制出的诸如「中文...
  • matplotlib设置colorbar字体大小

    千次阅读 2020-12-06 09:20:54
    只需在前面加一句 plt.rcParams['font.size'] = 13
  • Matplotlib设置中文标签

    万次阅读 多人点赞 2018-07-13 10:49:44
    目录 1、使用字体管理器 font_manager 2、代码中动态设置中文字体 1、使用字体管理器 font_manager ...from matplotlib.font_manager import FontProperties #字体管理器 #设置汉字格式 font = Font...
  • 我正在使用matplotlib.pyplot.subplots绘制网格图,并且希望刻度标签使用LaTeX的sans-serif字体,但是当我使用子绘图时,我总是至少得到一个使用matplotlib默认字体呈现的刻度标签.这是MWE:import matplotlib.pyplot ...
  • python - Matplotlib使刻度标签字体大小为sm在matplotlib图中,如何使用ax1.set_xticklabels()缩小刻度标签的字体大小?此外,如何将其从水平旋转到垂直?10个解决方案359 votes实际上有一种更简单的方法。 我刚发现...
  • matplotlib库中默认使用的字体是不支持中文的,所以如果需要中文的标签或标题则我们手动去重新设置一个支持中文格式的字体。因为之前我在设置的时候犯了一个很蠢的问题,但是也可能是很多其它小白也会遇到的问题,...
  • matplotlib图中,如何使用ax1.set_xticklabels()使勾号标签字体更小?此外,如何将其从水平旋转到垂直?谢谢你问这个问题,我正在努力解决这个问题。我在这里不是很固执己见,但看起来选民认为最好的答案不是...
  • 主要介绍了python matplotlib给图中的点加标签,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 一、 python matplotlib 下标问题 参考:The subscripts are not in times new roman using matplotlib [duplicate] 所用python代码(first step in your own python): df_up= pd.read_excel(xlsxFilename) df_up...
  • Matplotlib标签重叠

    2020-12-13 20:35:22
    下面是一个简单的代码,说明我的意思:import matplotlib.pyplot as pltimport numpy as npfrom scipy.ndimage.filters import gaussian_filternp.random.seed(200)cols = 600attr = list('abc...
  • matplotlib中修改默认字体

    千次阅读 2020-08-12 12:19:47
    修改matplotlib绘制的图表的默认配置是有三种方案( 以修改为中文字体为例 ): 1、方案一: 通过 font_manager来指定本机安装的中文字库,请注意确保本机对应的路径下已安装此字体(不足:只在当前cell中有效) ...
  • plt.close() 问题:生成饼图标签出现乱码 解决方案——修改matplotlibrc 选取中文字体 修改matplotlibrc 测试 1. 选取中文字体 中文字体以simsun为例,在 C:\Windows\Fonts下面找到“simsun”字体matplotlib默认...
  • Matplotlib作图中坐标轴字体的加粗斜体格式 背景介绍 科研作图中,坐标轴的字体、字号等参数有常用的选择,我常用的参数如下,坐标轴名称的字体是roman,字体需要加粗;坐标轴刻度的 字体是roman,字体需要斜体...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,655
精华内容 3,862
关键字:

matplotlib标签字体