rcParam | usage |
---|---|
‘font.family' | List of either names of font or {‘cursive', ‘fantasy', ‘monospace', ‘sans', ‘sans serif', ‘sans-serif', ‘serif'} |
‘font.style' | The default style, ex ‘normal', ‘italic' |
‘font.variant' | Default variant, ex ‘normal', ‘small-caps' (untested) |
‘font.stretch' | Default stretch, ex ‘normal', ‘condensed' (incomplete) |
‘font.weight' | Default weight. Either string or integer |
‘font.size' | Default font size in points. Relative font sizes (‘large', ‘x-small') are computed against this size |
我們最關(guān)心的當(dāng)然是'font.family','font.family'的取值有三種:
對(duì)于字體名稱,可以通過ttflist獲取。
from matplotlib.font_manager import fontManager fontManager.ttflist
對(duì)于{'cursive', 'fantasy', 'monospace', 'sans', 'sans serif', 'sans-serif', 'serif'} ,它與實(shí)際字體名稱之間的映射關(guān)系由以下rcParams控制:
family alias | rcParam with mappings |
---|---|
‘serif' | ‘font.serif' |
‘monospace' | ‘font.monospace' |
‘fantasy' | ‘font.fantasy' |
‘cursive' | ‘font.cursive' |
{‘sans', ‘sans serif', ‘sans-serif'} | ‘font.sans-serif' |
'font.sans-serif'等取值其實(shí)都代表一個(gè)字體列表。
官方文檔給出了設(shè)置默認(rèn)字體的方法建議:
To set the default font to be one that supports the code points you need, prepend the font name to ‘font.family' or the desired alias lists
matplotlib.rcParams[‘font.sans-serif'] = [‘Source Han Sans TW', ‘sans-serif']
or set it in your .matplotlibrc file:
font.sans-serif: Source Han Sans TW, Arial, sans-serif
To control the font used on per-artist basis use the ‘name', ‘fontname' or ‘fontproperties' kwargs documented above.
配置文件中重要的就是'font.sans-serif'等字體家族列表,列表是有優(yōu)先級(jí)的,越靠前字體的優(yōu)先級(jí)越高,所有很多教程中都要求把需要設(shè)置的字體設(shè)置為列表的第一個(gè)元素。
## *************************************************************************** ## * FONT * ## *************************************************************************** ## The font properties used by `text.Text`. ## See https://matplotlib.org/api/font_manager_api.html for more information ## on font properties. The 6 font properties used for font matching are ## given below with their default values. ## ## The font.family property has five values: ## - 'serif' (e.g., Times), ## - 'sans-serif' (e.g., Helvetica), ## - 'cursive' (e.g., Zapf-Chancery), ## - 'fantasy' (e.g., Western), and ## - 'monospace' (e.g., Courier). ## Each of these font families has a default list of font names in decreasing ## order of priority associated with them. When text.usetex is False, ## font.family may also be one or more concrete font names. ## ## The font.style property has three values: normal (or roman), italic ## or oblique. The oblique style will be used for italic, if it is not ## present. ## ## The font.variant property has two values: normal or small-caps. For ## TrueType fonts, which are scalable fonts, small-caps is equivalent ## to using a font size of 'smaller', or about 83%% of the current font ## size. ## ## The font.weight property has effectively 13 values: normal, bold, ## bolder, lighter, 100, 200, 300, ..., 900. Normal is the same as ## 400, and bold is 700. bolder and lighter are relative values with ## respect to the current weight. ## ## The font.stretch property has 11 values: ultra-condensed, ## extra-condensed, condensed, semi-condensed, normal, semi-expanded, ## expanded, extra-expanded, ultra-expanded, wider, and narrower. This ## property is not currently implemented. ## ## The font.size property is the default font size for text, given in pts. ## 10 pt is the standard value. ## ## Note that font.size controls default text sizes. To configure ## special text sizes tick labels, axes, labels, title, etc, see the rc ## settings for axes and ticks. Special text sizes can be defined ## relative to font.size, using the following values: xx-small, x-small, ## small, medium, large, x-large, xx-large, larger, or smaller #font.family: sans-serif #font.style: normal #font.variant: normal #font.weight: normal #font.stretch: normal #font.size: 10.0 #font.serif: DejaVu Serif, Bitstream Vera Serif, Computer Modern Roman, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif #font.sans-serif: DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif #font.cursive: Apple Chancery, Textile, Zapf Chancery, Sand, Script MT, Felipa, cursive #font.fantasy: Comic Neue, Comic Sans MS, Chicago, Charcoal, ImpactWestern, Humor Sans, xkcd, fantasy #font.monospace: DejaVu Sans Mono, Bitstream Vera Sans Mono, Computer Modern Typewriter, Andale Mono, Nimbus Mono L, Courier New, Courier, Fixed, Terminal, monospace
根據(jù)文檔可知
傳統(tǒng)的字體設(shè)置方法plt.rcParams['font.sans-serif'] = ['simhei']等價(jià)于
font = {'sans-serif' : ['simhei']} plt.rc('font', **font)
matplotlib.pyplot.rc(group, **kwargs) Set the current rcParams. group is the grouping for the rc, e.g., for lines.linewidth the group is lines, for axes.facecolor, the group is axes, and so on. Group may also be a list or tuple of group names, e.g., (xtick, ytick). kwargs is a dictionary attribute name/value pairs, e.g.,: rc('lines', linewidth=2, color='r') sets the current rcParams and is equivalent to: rcParams['lines.linewidth'] = 2 rcParams['lines.color'] = 'r'
到此這篇關(guān)于淺談matplotlib默認(rèn)字體設(shè)置探索的文章就介紹到這了,更多相關(guān)matplotlib默認(rèn)字體 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:重慶 長春 東莞 河池 臨汾 德宏 漢中 廊坊
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談matplotlib默認(rèn)字體設(shè)置探索》,本文關(guān)鍵詞 淺談,matplotlib,默認(rèn),字體,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。