Matplotlib繪圖基礎(chǔ)之樣式表詳解
Matplotlib
庫 由于誕生的比較早,所以其默認(rèn)的顯示樣式很難符合現(xiàn)在的審美,這也是它經(jīng)常為人詬病的地方。
不過,經(jīng)過版本更迭之后,現(xiàn)在 Matplotlib
已經(jīng)內(nèi)置了很多樣式表,
通過使用不同的樣式表,可以整體改變繪制圖形的風(fēng)格,不用再調(diào)整一個(gè)個(gè)顯示參數(shù)。
1. 樣式表的使用
1.1. 所有內(nèi)置樣式表
首先,查看內(nèi)置的樣式表有哪些:
import matplotlib.pyplot as plt plt.style.available
1.2. 使用樣式表的方式
使用樣式表的方式有兩種:
一種是全局樣式表設(shè)置,比如:
plt.style.use("ggplot")
隨后的代碼中,所有繪制的圖形都是 ggplot
風(fēng)格。
另一種局部樣式表設(shè)置,比如:
with plt.style.context("classic"): # 繪制圖形 pass
這種方式,樣式表只在 with
范圍內(nèi)生效。
2. 不同樣式表的效果
下面演示幾種風(fēng)格差異比較大的樣式表。
首先,封裝一個(gè)繪制圖形的函數(shù)。
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 風(fēng)格
with plt.style.context("classic"): draw()
2.2. Solarize_Light2 風(fēng)格
with plt.style.context("Solarize_Light2"): draw()
2.3. bmh 風(fēng)格
with plt.style.context("bmh"): draw()
2.4. dark_background 風(fēng)格
with plt.style.context("dark_background"): draw()
2.5. fast 風(fēng)格
with plt.style.context("fast"): draw()
2.6. ggplot 風(fēng)格
with plt.style.context("ggplot"): draw()
2.7. seaborn 風(fēng)格
seaborn
是公認(rèn)顏值比較高的繪圖庫,所以 Matplotlib
也支持很多種seaborn
風(fēng)格。
這里使用的是默認(rèn)的 seaborn
風(fēng)格。
with plt.style.context("seaborn-v0_8"): draw()
3. 總結(jié)
內(nèi)置的樣式表方便易用,提供了許多預(yù)定義的樣式,可以快速幫助我們創(chuàng)建美觀的圖表。
使用內(nèi)置的樣式表還有個(gè)好處是可以保持圖表的統(tǒng)一風(fēng)格,使得圖表具有更高的可讀性和可維護(hù)性。
Matplotlib
提供的豐富的樣式表,可以滿足不同類型的繪圖需求,并且還可以通過自定義樣式表來實(shí)現(xiàn)更加個(gè)性化的繪圖效果。
到此這篇關(guān)于Matplotlib繪圖基礎(chǔ)之樣式表詳解的文章就介紹到這了,更多相關(guān)Matplotlib樣式表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python如何實(shí)現(xiàn)遞歸轉(zhuǎn)非遞歸
這篇文章主要介紹了python如何實(shí)現(xiàn)遞歸轉(zhuǎn)非遞歸,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-02-02pycharm社區(qū)版安裝django并創(chuàng)建一個(gè)簡單項(xiàng)目的全過程
社區(qū)版的pycharm跟專業(yè)版的pycharm應(yīng)用差別還是不太大,下面這篇文章主要給大家介紹了關(guān)于pycharm社區(qū)版安裝django并創(chuàng)建一個(gè)簡單項(xiàng)目的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05Numpy中扁平化函數(shù)ravel()和flatten()的區(qū)別詳解
本文主要介紹了Numpy中扁平化函數(shù)ravel()和flatten()的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02python使用requests模塊實(shí)現(xiàn)爬取電影天堂最新電影信息
這篇文章主要介紹了python使用requests模塊實(shí)現(xiàn)爬取電影天堂最新電影信息,本文通過實(shí)例代碼給大家介紹了str/list/tuple三者之間怎么相互轉(zhuǎn)換,需要的朋友可以參考下2019-04-04