1. 程式人生 > >matplotlib轉義字元全集,編寫數學表示式

matplotlib轉義字元全集,編寫數學表示式

編寫數學表示式

你可以在任何 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.fonttypepdf.fonttype設定為 3(預設值),而不是 42。否則一些字元將不可見。

下面是個簡單的例子:

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

生成alpha > beta

但是這個:

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

生成

注意

Mathtext 應該放在一對美元符號($)之間。 為了易於顯示貨幣值,例如$ 100.00

,如果整個字串中存在單個美元符號,則它將被逐字顯示為美元符號。 這是常規 TeX 的一個小改變,其中非數學文字中的美元符號必須被轉義('$')。

注意

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

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

在 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)$'

這裡st是斜體(預設)的變數,sin是羅馬字型,振幅A是書法字型。 注意在上面的例子中,Asin之間的間距被擠壓。 你可以使用間距命令在它們之間新增一些空格:

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}

當把重音放在小寫的ij上時應該小心。 注意下面的\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

相關推薦

matplotlib轉義字元全集,編寫數學表示式

編寫數學表示式 你可以在任何 matplotlib 文字字串中使用子 TeX 標記,將它放在一對美元符號($)內。 注意,你不需要安裝 TeX,因為 matplotlib 提供了自己的 TeX 表示式解析器,佈局引擎和字型。 佈局引擎是 Donald Knut

Python 字串表示式轉義字元含義

Python 字串表示式 操作 解釋 s=’’ 空字串 s=“spam’s” 單雙引號相同 s='s\np\tsds

Java表示式的陷阱——輸入法、註釋字元轉義字元的陷阱

3、輸入法、註釋字元和轉義字元的陷阱 3、1 輸入法導致的陷阱           對於Java語言而言,它使用空格、Tab製表符(半形狀態)作為分隔符,因此一個Java程式中通常需要包含大量空格。但如果不小心把輸入法切換到全形

正則表示式 -轉義字元

常見的HTML實體字元特殊符號命名實體十進位制編碼特殊符號命名實體十進位制編碼 !!"""##$$%&a

正則表示式 轉義字元(轉)

字元匹配語法: \d   匹配數字(0~9) ‘\d’匹配8,不匹配12; \D   匹配非數字 ‘\D’匹配c,不匹配3; \w   匹配任意單字元 ‘\w\w’ 匹配A3,不匹配@3; \W   匹配非單字元 ‘\W’匹配@,不匹配c; \s   匹配空白字元 ‘\d\

el表示式轉義字元

後臺資料庫中儲存的是html字串。 使用el表示式傳到前臺需要使用轉移字元。 引入標籤:<%@ taglib  uri ="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>  這樣取值:<input name="printB

練習 3-2 編寫一個函式escape(s, t),將字串t 複製到字串s 中,並在複製過程中將換行符、製表符等不可見字元分別轉換為\n、\t等相應的可見的轉義字元序列。要求使用swich語句。

要將所有的轉義字元都進行轉換,分支會有很多,在這裡以換行符和製表符為例進行轉換。 #include<stdio.h> void escape(char s[],char t[]); vo

MyBatis SQL語句 符號不相容 大於號 小於號 (XML轉義字元

將語句中的位運算(與)”&“符使用“&amp;”替換 mybatis配置檔案寫SQL語句的某些字元需要轉義:   &lt;          <&nbs

json去除轉義字元

{"success":true,"value":"[{\"lastUpdateTime\":\"2018-10-10 13:52:18\",\"lastUpdateStafNo\":\"5473401\",\"lastUpdateStafNam\":\"\",\"menuNo\":\"0231\",

hive筆記:轉義字元的使用

hive中的轉義符 Hadoop和Hive都是用UTF-8編碼的,所以, 所有中文必須是UTF-8編碼, 才能正常使用 備註:中文資料load到表裡面, 如果字符集不同,很有可能全是亂碼需要做轉碼的, 但是hive本身沒有函式來做這個 一、轉義字元的特殊情況: 自身的轉義,比如java有時候需要兩個轉

replace與replaceAll遇到轉義字元時的區別

我們都知道replaceAll(regex,String)在進行字串替換時會首先匹配正則表示式,而replace則沒有這方面的規定。轉義字元同樣屬於正則的一種,今天遇到個問題,將sql:“SELECT PARAM1,PARAM2,TO_CHAR(PARAM3,'YYYY-MM-DD HH24:M

Elasticsearch中的萬用字元及正則表示式查詢

想要在ES中使用*或者?作為萬用字元進行模糊匹配? 看這篇就對了~ 本文為轉發!!! 轉自:https://blog.csdn.net/dm_vincent/article/details/42024799 wildcard查詢和prefix查詢類似,也是一個基於詞

Properties配置檔案常見錯誤寫法以及轉義字元說明

對轉義字元的使用,常見錯誤示例: jdbc.url=jdbc\:mysql\://192.168.0.1\:3306/test?useUnicode\=true&characterEncoding\=UTF-8 在Properties檔案中,分隔符有兩種存在方式:“=”(等於號

C點滴成海------基礎轉義字元

一、常用的轉義字元 \n 回車換行 (10) \” 雙引號 \t 橫向跳格(9) \0 空字元(0) \v 豎向跳格 (11) \a 響鈴(7) \b 退格 (8) \r 回車(13) \f 走紙換頁(12) \\ 反斜槓 \’ 單引號 \ddd 1-3位八

Android json資料中有轉義字元

對於Android來說 也許伺服器寫的資料 並不如意,但是我們要逐個擊破,例如這個資料 {     "code": "200",     "message": "OK",     "result": {    

SQL 轉義字元字元轉譯

SQL裡面用單引號轉譯,比如我要把單引號轉譯就是連著打兩個單引號 比如在下面這個表裡面實現: -- 自動拼接uri入庫initQuestionList(question_id,'answer')形式的 UPDATE zt_question_answer SET uri = conc

python初學一(python基本常識、pycharm、運算子、轉義字元運用)

一、各個語言的認識:                    二、pycharm簡單的快捷鍵:              

八進位制轉義字元與十六進位制轉義字元

一般形式 在C中有兩種特殊的字元,八進位制轉義字元和十六進位制轉義字元,八進位制字元的一般形式是'\ddd',d是0-9的數字。十六進位制字元的一般形式是'\xhh',h是0-9或A-F內的一個。八進位制字元和十六進位制字元表示的是字元的ASCII碼對應的數值。比如 '\063'表示的是字元

C語言中的轉義字元

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!