Matplotlib使用文字


Matplotlib具有廣泛的文字支援,包括對數學表示式的支援,對光柵和向量輸出的TrueType支援,具有任意旋轉的換行符分隔文字以及unicode支援。Matplotlib包含自己的matplotlib.font_manager,它實現了一個跨平台,符合W3C標準的字型查詢演算法。

使用者可以對文字屬性(字型大小,字型粗細,文字位置和顏色等)進行大量控制。Matplotlib實現了大量的TeX數學符號和命令。

  • text - 在Axes的任意位置新增文字。
  • annotate - 使用可選箭頭在Axes的任意位置新增註釋。
  • xlabel - 在Axes的x軸上新增標籤。
  • ylabel - 在Axes的y軸上新增標籤。
  • title - 為Axes新增標題。
  • figtext - 在圖的任意位置新增文字。
  • suptitle - 在圖中新增標題。

以下命令列表用於在Pyplot介面中建立文字 -

#! /usr/bin/env python
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import math
import seaborn as sns

plt.rcParams['font.sans-serif'] = ['SimHei'] # 步驟一(替換sans-serif字型)
plt.rcParams['axes.unicode_minus'] = False   # 原文出自【易百教學】,商業轉載請聯絡作者獲得授權,非商業請保留原文連結:

fig = plt.figure()

ax = fig.add_axes([0,0,1,1])

ax.set_title('axes title')
ax.set_xlabel('xlabel')
ax.set_ylabel('ylabel')
ax.text(3, 8, '資料坐標中包裝的斜體文字', style='italic', 
bbox = {'facecolor': 'red'})
ax.text(2, 6, r'an equation: $E = mc^2$', fontsize = 15)
ax.text(4, 0.05, '軸coords中的彩色文字',
verticalalignment = 'bottom', color = 'green', fontsize = 15)
ax.plot([2], [1], 'o')
ax.annotate('annotate', xy = (2, 1), xytext = (3, 4),
arrowprops = dict(facecolor = 'black', shrink = 0.05))
ax.axis([0, 10, 0, 10])
plt.show()

執行上面範例程式碼,得到以下結果 -