Matplotlib庫 由於誕生的比較早,所以其預設的顯示樣式很難符合現在的審美,這也是它經常為人詬病的地方。 不過,經過版本更迭之後,現在 Matplotlib 已經內置了很多樣式表,通過使用不同的樣式表,可以整體改變繪製圖形的風格,不用再調整一個個顯示參數。 1. 樣式表的使用 1.1. 所有內 ...
Matplotlib
庫 由於誕生的比較早,所以其預設的顯示樣式很難符合現在的審美,這也是它經常為人詬病的地方。
不過,經過版本更迭之後,現在 Matplotlib
已經內置了很多樣式表,
通過使用不同的樣式表,可以整體改變繪製圖形的風格,不用再調整一個個顯示參數。
1. 樣式表的使用
1.1. 所有內置樣式表
首先,查看內置的樣式表有哪些:
import matplotlib.pyplot as plt
plt.style.available
1.2. 使用樣式表的方式
使用樣式表的方式有兩種:
一種是全局樣式表設置,比如:
plt.style.use("ggplot")
隨後的代碼中,所有繪製的圖形都是 ggplot
風格。
另一種局部樣式表設置,比如:
with plt.style.context("classic"):
# 繪製圖形
pass
這種方式,樣式表只在 with
範圍內生效。
2. 不同樣式表的效果
下麵演示幾種風格差異比較大的樣式表。
首先,封裝一個繪製圖形的函數。
def draw():
x = np.array(range(10))
y = np.random.randint(10, 100, 10)
fig = plt.figure(figsize=[6,4])
fig.add_subplot(211)
plt.plot(x, y)
fig.add_subplot(212)
plt.hist(y)
2.1. classic 風格
with plt.style.context("classic"):
draw()
2.2. Solarize_Light2 風格
with plt.style.context("Solarize_Light2"):
draw()
2.3. bmh 風格
with plt.style.context("bmh"):
draw()
2.4. dark_background 風格
with plt.style.context("dark_background"):
draw()
2.5. fast 風格
with plt.style.context("fast"):
draw()
2.6. ggplot 風格
with plt.style.context("ggplot"):
draw()
2.7. seaborn 風格
seaborn
是公認顏值比較高的繪圖庫,所以 Matplotlib
也支持很多種seaborn
風格。
這裡使用的是預設的 seaborn
風格。
with plt.style.context("seaborn-v0_8"):
draw()
3. 總結
內置的樣式表方便易用,提供了許多預定義的樣式,可以快速幫助我們創建美觀的圖表。
使用內置的樣式表還有個好處是可以保持圖表的統一風格,使得圖表具有更高的可讀性和可維護性。
Matplotlib
提供的豐富的樣式表,可以滿足不同類型的繪圖需求,並且還可以通過自定義樣式表來實現更加個性化的繪圖效果。