2017-01-22 17 views
1
plt.text(60, .025, r'$\mu=100,\ \sigma=15$') 

我可以承認的位置,但r字符串似乎不熟悉我。如何理解matplotlib的這句話?

  1. 兩個$是什麼意思?它與打印μ和σ有關嗎?
  2. \ \在句子中似乎沒有兩個意思\
  3. 這是matplotlib中的一個特殊語法還是我在Python中不知道的一個特性?
+1

'r'something''是[完全正規的Python](https://docs.python.org/2/library/re.html)。 – usr2564301

回答

4

你不明白的部分實際上不是Python,它是Matplotlib的一個特性,意味着在你的圖中包含符號和方程。它被稱爲math text,就像LaTex中的數學模式。

  1. $符號是表示數學模塊的符號。他們在這裏執行的操作是將\ mu轉換爲μ和\ sigma轉換爲σ
  2. 第一個\將空格標記爲字符,以便它不會在呈現的文本中消失。
  3. r' '字符串是一個未加工的Python字符串。這意味着所有字符都是字面的,這意味着不需要轉義(而反斜槓不像轉義字符)。
+1

在你的#2上:*數學模式*中的空格(如'$'所示)總是消失。因此這裏的反斜槓 - 在數學模式之外是沒有必要的。 – usr2564301

+1

matplotlib中的[使用LaTeX](http://matplotlib.org/users/usetex.html#usetex-tutorial)和你在這裏看到的通常被稱爲MathText的內容之間實際上有區別,請參見[編寫數學表達式] (http://matplotlib.org/users/mathtext.html)。兩者之間有很大的重疊,所以通常你不會看到任何區別。 – ImportanceOfBeingErnest