日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Matplotlib 中文用户指南 4.6 编写数学表达式

發布時間:2024/4/17 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Matplotlib 中文用户指南 4.6 编写数学表达式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

編寫數學表達式

原文:Writing mathematical expressions

譯者:飛龍

協議:CC BY-NC-SA 4.0

你可以在任何 matplotlib 文本字符串中使用子 TeX 標記,將它放在一對美元符號($)內。

注意,你不需要安裝 TeX,因為 matplotlib 提供了自己的 TeX 表達式解析器,布局引擎和字體。 布局引擎是 Donald Knuth 的 TeX 中的布局算法的一種相當直接的適配版,所以質量是相當不錯的(matplotlib 還為那些想要調用 TeX 生成文本的人提供一個usetex選項(參見使用 LaTeX 渲染文本 )。

任何文本元素都可以使用數學文本。 你應該使用原始字符串(在引號前面加一個'r'),并用美元符號($)包圍數學文本,如 TeX。 常規文本和數學文本可以在同一個字符串內交錯。 Mathtext 可以使用 Computer Modern 字體(來自 (La)TeX),STIX 字體(為與 Times 混合使用而設計)或你提供的 Unicode 字體。 可以使用自定義變量mathtext.fontset選擇 mathtext 字體(請參閱自定義 matplotlib)

注意

在Python的 『narrow』 構建中,如果使用 STIX 字體,你還應該將ps.fonttype和pdf.fonttype設置為 3(默認值),而不是 42。否則一些字符將不可見。

下面是個簡單的例子:

# plain text plt.title('alpha > beta')

生成alpha > beta。

但是這個:

# math text plt.title(r'$\alpha > \beta$')

生成 。

注意

Mathtext 應該放在一對美元符號($)之間。 為了易于顯示貨幣值,例如$ 100.00,如果整個字符串中存在單個美元符號,則它將被逐字顯示為美元符號。 這是常規 TeX 的一個小改變,其中非數學文本中的美元符號必須被轉義('$')。

注意

雖然一對美元符號($)內的語法是 TeX 風格的,但是外面的文本不是。 特別是,字符:

# $ % & ~ _ ^ \ { } \( \) \[ \]

在 TeX 中的數學模式之外有特殊的意義。 因此,根據rcParam text.usetex標志這些字符的表現有所不同。 更多信息請參閱usetex教程。

下標和上標

為了制作下標和上標,使用_或者^符號:

r'$\alpha_i > \beta_i$'

一些符號會自動將它們的下標或上標放在操作符的底部或頂部,例如,為了編寫 0 到無窮的 的和,你可以:

r'$\sum_{i=0}^\infty x_i$'

分數、二項式和堆疊數

可以使用\frac{}{},\binomial{}{}和\stackrel{}{}命令分別創建分數,二項式和堆疊數字:

r'$\frac{3}{4} \binom{3}{4} \stackrel{3}{4}$'

產生

分數可以任意嵌套:

r'$\frac{5 - \frac{1}{x}}{4}$'

產生

請注意,在分數周圍放置圓括號和花括號需要特別注意。 這種明顯的方式會產生太小的括號:

r'$(\frac{5 - \frac{1}{x}}{4})$'

解決方案是在括號前面加上\left和\right以通知解析器這些括號包含整個對象:

r'$\left(\frac{5 - \frac{1}{x}}{4}\right)$'

根式

根式可以有\sqrt[]{}產生,例如:

r'$\sqrt{2}$'

方括號內可以(可選地)設置任何底數。 請注意,底數必須是一個簡單的表達式,并且不能包含布局命令,如分數或上下標:

r'$\sqrt[3]{x}$'

字體

用于數學符號的默認字體是斜體。

注意

此默認值可以使用mathtext.default rcParam更改。 這是非常有用的,例如,通過將其設置為regular,使用與常規非數學文本相同的字體作為數學文本。

為了修改字體,例如,以羅馬字體編寫sin,使用字體命令來閉合文本:

r'$s(t) = \mathcal{A}\mathrm{sin}(2 \omega t)$'

這里s和t是斜體(默認)的變量,sin是羅馬字體,振幅A是書法字體。 注意在上面的例子中,A和sin之間的間距被擠壓。 你可以使用間距命令在它們之間添加一些空格:

s(t) = \mathcal{A}\/\sin(2 \omega t)

所有字體的可用選項為:

命令結果
\mathrm{Roman}
\mathit{Italic}
\mathtt{Typewriter}
\mathcal{CALLIGRAPHY}

使用 STIX 字體時,你也可以選擇:

命令結果
\mathbb{blackboard}
\mathrm{\mathbb{blackboard}}
\mathfrak{Fraktur}
\mathsf{sansserif}
\mathrm{\mathsf{sansserif}}
\mathcircled{circled}

還有三個全局『字體集』可供選擇,它們使用matplotlibrc中的mathtext.fontset參數進行選擇。

cm: Computer Modern (TeX)

stix: STIX (為和 Times 混合使用而設計)

stixsans: STIX sans-serif

此外,你可以使用\mathdefault{...}或其別名\mathregular{...}來使用用于 mathtext 之外的常規文本的字體。 這種方法有一些限制,最明顯的是,可以使用很少的符號,但可用于將數學表達式與圖中的其他文本混合。

自定義字體

mathtext 還提供了一種對數學公式使用自定義字體的方法。 這種方法使用起來相當棘手,應該看做為有耐心的用戶準備的試驗特性。 通過將rcParam mathtext.fontset設置為custom,你可以設置以下參數,這些參數控制用于特定數學字符集的字體文件。

參數相當于
mathtext.it \mathit{} 默認斜體
mathtext.rm \mathrm{} 羅馬字體(upright)
mathtext.tt \mathtt{} 打字機(monospace)
mathtext.bf \mathbf{} 粗體
mathtext.cal \mathcal{} 書法
mathtext.sf \mathsf{} sans-serif

每個參數應該設置為fontconfig字體描述符(在尚未編寫的字體章節中定義)。

所使用的字體應該具有 Unicode 映射,以便找到任何非拉丁字符,例如希臘語。 如果要使用未包含在自定義字體中的數學符號,可以將rcParam mathtext.fallback_to_cm設置為True,這將導致自定義字體中找不到特定字符時,數學文本系統使用默認的 Computer Modern 字體中的字符。

請注意,Unicode 中規定的數學字形隨時間而演進,許多字體的字形對于 mathtext 可能不在正確位置。

重音符號

重音命令可以位于任何符號之前,在其上添加重音。 他們中的一些些擁有較長和較短的形式。

命令結果
\acute a 或 \'a
\bar a
\breve a
\ddot a 或 \"a
\dot a 或 \.a
\grave a 或 \a`
\hat a 或 \^a
\tilde a 或 \~a
\vec a
\overline{abc}

另外有兩個特殊的重音符號,可以自動調整為符號的寬度:

命令結果
\widehat{xyz}
\widetilde{xyz}

當把重音放在小寫的i和j上時應該小心。 注意下面的\imath用來避免i上額外的點:

r"$\hat i\ \ \hat \imath$"

符號

你也可以使用更大量的 TeX 符號,比如\infty,\leftarrow,\sum,\int。

小寫希臘字母
\alpha \beta \chi
\epsilon \eta \gamma
\lambda \mu \nu
\pi \psi \rho
\theta \upsilon \varepsilon
\varpi \varrho \varsigma
\zeta
大寫希臘字母
\Delta \Gamma \Lambda
\Psi \Sigma \Theta
\nabla
希伯來文
\aleph \beth \daleth
分隔符
/ [ \Downarrow
\downarrow \langle \lceil
\rangle \rceil \rfloor
\vert \{ |
大型符號
\bigcap \bigcup \bigodot
\biguplus \bigvee \bigwedge
\oint \prod \sum
標準函數名稱
\Pr \arccos \arcsin
\arg \cos \cosh
\coth \csc \deg
\dim \exp \gcd
\inf \ker \lg
\liminf \limsup \ln
\max \min \sec
\sinh \sup \tan
二元運算符和關系符號
\Bumpeq \Cap \Cup
\Doteq \Join \Subset
\Supset \Vdash \Vvdash
\approx \approxeq \ast
\asymp \backepsilon \backsim
\backsimeq \barwedge \because
\between \bigcirc \bigtriangledown
\bigtriangleup \blacktriangleleft \blacktriangleright
\bot \bowtie \boxdot
\boxminus \boxplus \boxtimes
\bullet \bumpeq \cap
\cdot \circ \circeq
\coloneq \cong \cup
\curlyeqprec \curlyeqsucc \curlyvee
\curlywedge \dag \dashv
\ddag \diamond \div
\divideontimes \doteq \doteqdot
\dotplus \doublebarwedge \eqcirc
\eqcolon \eqsim \eqslantgtr
\eqslantless \equiv \fallingdotseq
\frown \geq \geqq
\geqslant \gg \ggg
\gnapprox \gneqq \gnsim
\gtrapprox \gtrdot \gtreqless
\gtreqqless \gtrless \gtrsim
\in \intercal \leftthreetimes
\leq \leqq \leqslant
\lessapprox \lessdot \lesseqgtr
\lesseqqgtr \lessgtr \lesssim
\ll \lll \lnapprox
\lneqq \lnsim \ltimes
\mid \models \mp
\nVDash \nVdash \napprox
\ncong \ne \neq
\neq \nequiv \ngeq
\ngtr \ni \nleq
\nless \nmid \notin
\nparallel \nprec \nsim
\nsubset \nsubseteq \nsucc
\nsupset \nsupseteq \ntriangleleft
\ntrianglelefteq \ntriangleright \ntrianglerighteq
\nvDash \nvdash \odot
\ominus \oplus \oslash
\otimes \parallel \perp
\pitchfork \pm \prec
\precapprox \preccurlyeq \preceq
\precnapprox \precnsim \precsim
\propto \rightthreetimes \risingdotseq
\rtimes \sim \simeq
\slash \smile \sqcap
\sqcup \sqsubset \sqsubset
\sqsubseteq \sqsupset \sqsupset
\sqsupseteq \star \subset
\subseteq \subseteqq \subsetneq
\subsetneqq \succ \succapprox
\succcurlyeq \succeq \succnapprox
\succnsim \succsim \supset
\supseteq \supseteqq \supsetneq
\supsetneqq \therefore \times
\top \triangleleft \trianglelefteq
\triangleq \triangleright \trianglerighteq
\uplus \vDash \varpropto
\vartriangleleft \vartriangleright \vdash
\vee \veebar \wedge
\wr
箭頭符號
\Downarrow \Leftarrow
\Leftrightarrow \Lleftarrow
\Longleftarrow \Longleftrightarrow
\Longrightarrow \Lsh
\Nearrow \Nwarrow
\Rightarrow \Rrightarrow
\Rsh \Searrow
\Swarrow \Uparrow
\Updownarrow \circlearrowleft
\circlearrowright \curvearrowleft
\curvearrowright \dashleftarrow
\dashrightarrow \downarrow
\downdownarrows \downharpoonleft
\downharpoonright \hookleftarrow
\hookrightarrow \leadsto
\leftarrow \leftarrowtail
\leftharpoondown \leftharpoonup
\leftleftarrows \leftrightarrow
\leftrightarrows \leftrightharpoons
\leftrightsquigarrow \leftsquigarrow
\longleftarrow \longleftrightarrow
\longmapsto \longrightarrow
\looparrowleft \looparrowright
\mapsto \multimap
\nLeftarrow \nLeftrightarrow
\nRightarrow \nearrow
\nleftarrow \nleftrightarrow
\nrightarrow \nwarrow
\rightarrow \rightarrowtail
\rightharpoondown \rightharpoonup
\rightleftarrows \rightleftarrows
\rightleftharpoons \rightleftharpoons
\rightrightarrows \rightrightarrows
\rightsquigarrow \searrow
\swarrow \to
\twoheadleftarrow \twoheadrightarrow
\uparrow \updownarrow
\updownarrow \upharpoonleft
\upharpoonright \upuparrows
雜項符號
\$ \AA \Finv
\Game \Im \P
\Re \S \angle
\backprime \bigstar \blacksquare
\blacktriangle \blacktriangledown \cdots
\checkmark \circledR \circledS
\clubsuit \complement \copyright
\ddots \diamondsuit \ell
\emptyset \eth \exists
\flat \forall \hbar
\heartsuit \hslash \iiint
\iint \iint \imath
\infty \jmath \ldots
\measuredangle \natural \neg
\nexists \oiiint \partial
\prime \sharp \spadesuit
\sphericalangle \ss \triangledown
\varnothing \vartriangle \vdots
\wp \yen

如果特定符號沒有名稱(對于 STIX 字體中的許多較為模糊的符號也是如此),也可以使用 Unicode 字符:

ur'$\u23ce$'

示例

下面是個示例,在上下文中展示了許多這些特性。

import numpy as np import matplotlib.pyplot as plt t = np.arange(0.0, 2.0, 0.01) s = np.sin(2*np.pi*t)plt.plot(t,s) plt.title(r'$\alpha_i > \beta_i$', fontsize=20) plt.text(1, -0.6, r'$\sum_{i=0}^\infty x_i$', fontsize=20) plt.text(0.6, 0.6, r'$\mathcal{A}\mathrm{sin}(2 \omega t)$',fontsize=20) plt.xlabel('time (s)') plt.ylabel('volts (mV)') plt.show()

總結

以上是生活随笔為你收集整理的Matplotlib 中文用户指南 4.6 编写数学表达式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。