一文帶你掌握Matplotlib風(fēng)格與樣式
1. Matplotlib 風(fēng)格
為了滿足不同的應(yīng)用需求, Matplotlib 中包含了 28 種不同的風(fēng)格,在進(jìn)行繪圖時,可以根據(jù)需要選擇不同的繪圖風(fēng)格。使用以下代碼可以獲取 Matplotlib 中所有可用的風(fēng)格:
import matplotlib as mpl from matplotlib import pyplot as plt # 查看 Matplotlib 可用繪圖風(fēng)格 print(plt.style.available)
打印出的可用風(fēng)格如下:
['Solarize_Light2', '_classic_test_patch', '_mpl-gallery', '_mpl-gallery-nogrid', 'bmh', 'classic', 'dark_background', 'fast', 'fivethirtyeight', 'ggplot', 'grayscale', 'seaborn', 'seaborn-bright', 'seaborn-colorblind', 'seaborn-dark', 'seaborn-dark-palette', 'seaborn-darkgrid', 'seaborn-deep', 'seaborn-muted', 'seaborn-notebook', 'seaborn-paper', 'seaborn-pastel', 'seaborn-poster', 'seaborn-talk', 'seaborn-ticks', 'seaborn-white', 'seaborn-whitegrid', 'tableau-colorblind10']
使用 plt.style.use("style") 可以修改默認(rèn)的繪圖風(fēng)格,其中 style 為 Matplolib 中可用的風(fēng)格:
import matplotlib as mpl
from matplotlib import pyplot as plt
import numpy as np
# 設(shè)置默認(rèn)繪圖風(fēng)格為 seaborn-darkgrid
plt.style.use("seaborn-darkgrid")
x = np.linspace(0, 2 * np.pi, 100)
y = np.cos(x)
plt.plot(x, y)
plt.show()

可以看到,與在《Matplotlib圖形繪制》中繪制的相同圖形相比,其風(fēng)格具有較大差別。除此之外, Maplotlib 中還有一些非常有意思的風(fēng)格,例如手繪風(fēng)格:
import matplotlib as mpl from matplotlib import pyplot as plt import numpy as np # 啟用手繪風(fēng)格 plt.xkcd() x = np.linspace(0, 2 * np.pi, 100) y = np.cos(x) plt.plot(x, y) plt.show()

可以看到,使用手繪風(fēng)格的方法十分簡單,只需要在繪圖前,調(diào)用 plt.xkcd() 函數(shù)即可:
import matplotlib as mpl from matplotlib import pyplot as plt import numpy as np # 啟用手繪風(fēng)格 plt.xkcd() data = [[10., 20., 30., 20.],[40., 25., 53., 18.],[6., 22., 52., 19.]] x = np.arange(4) plt.bar(x + 0.00, data[0], color = 'b', width = 0.25) plt.bar(x + 0.25, data[1], color = 'g', width = 0.25) plt.bar(x + 0.50, data[2], color = 'r', width = 0.25) plt.show()

除了 Matplotlib 自帶的預(yù)設(shè)風(fēng)格外,我們也可以通過自定義顏色和樣式來構(gòu)建滿足需求的自定義風(fēng)格。
2. 使用自定義顏色
2.1 自定義顏色
Matplotlib 中有多種定義顏色的方法,常見的方法包括:
三元組 (
Triplets):顏色可以描述為一個實數(shù)三元組,即顏色的紅、藍(lán)、綠分量,其中每個分量在[0,1]區(qū)間內(nèi)。因此,(1.0, 0.0, 0.0)表示純紅色,而(1.0, 0.0, 1.0)則表示粉色。四元組 (
Quadruplets):它們前三個元素與三元組定義相同,第四個元素定義透明度值。此值也在[0,1]區(qū)間內(nèi)。將圖形渲染到圖片文件中時,使用透明顏色可以使繪制圖形與背景進(jìn)行混合。預(yù)定義名稱:
Matplotlib將標(biāo)準(zhǔn)HTML顏色名稱解釋為實際顏色。例如,字符串red即可表示為紅色。同時一些某些顏色的具有簡潔的別名,如下表所示:

HTML顏色字符串:Matplotlib可以將HTML顏色字符串解釋為實際顏色。這些字符串被定義為#RRGGBB,其中RR、GG和BB分別是使用十六進(jìn)制編碼的紅色、綠色和藍(lán)色分量。灰度字符串:
Matplotlib將浮點值的字符串表示形式解釋為灰度,例如0.75表示中淺灰色。
2.2 使用自定義顏色繪制曲線圖
通過設(shè)置 plt.plot() 函數(shù)的參數(shù) color (或等效的簡寫為 c ),可以設(shè)置曲線的顏色,如下所示:
import numpy as np import matplotlib.pyplot as plt def pdf(x, mu, sigma): a = 1. / (sigma * np.sqrt(2. * np.pi)) b = -1. / (2. * sigma ** 2) return a * np.exp(b * (x - mu) ** 2) x = np.linspace(-6, 6, 1000) for i in range(5): samples = np.random.standard_normal(50) mu, sigma = np.mean(samples), np.std(samples) plt.plot(x, pdf(x, mu, sigma), color = str(.15*(i+1))) plt.plot(x, pdf(x, 0., 1.), color = 'k') plt.plot(x, pdf(x, 0.2, 1.), color = '#00ff00') plt.plot(x, pdf(x, 0.4, 1.), color = (0.9,0.9,0.0)) plt.plot(x, pdf(x, 0.4, 1.), color = (0.9,0.9,0.0,0.8)) plt.show()

2.3 使用自定義顏色繪制散點圖
可以以同樣的方式像控制曲線圖一樣控制散點圖的顏色,有兩種可用的形式:
- 為所有點使用相同的顏色 :所有點都將以相同的顏色顯示。
- 為每個點定義不同的顏色:為每個點提供不同的顏色。
2.3.1 為所有點使用相同的顏色
利用從二元高斯分布中提取的兩組點 y_1 和 y_2 ,每一組中點的顏色相同:
import numpy as np import matplotlib.pyplot as plt y_1 = np.random.standard_normal((150, 2)) y_1 += np.array((-1, -1)) # Center the distrib. at <-1, -1> y_2 = np.random.standard_normal((150, 2)) y_2 += np.array((1, 1)) # Center the distrib. at <1, 1> plt.scatter(y_1[:,0], y_1[:,1], color = 'c') plt.scatter(y_2[:,0], y_2[:,1], color = 'b') plt.show()

2.3.2 為每個點定義不同的顏色
我們有時會遇到這樣的繪圖場景,需要為不同類別的點使用不同的顏色進(jìn)行繪制,以觀察不同類別間的差異情況。以Fisher’s iris數(shù)據(jù)集為例,其數(shù)據(jù)集中數(shù)據(jù)類似如下所示:
5.0,3.3,1.4,0.2,Iris-setosa 7.0,3.2,4.7,1.4,Iris-versicolo
數(shù)據(jù)集的每個點都存儲在以逗號分隔的列表中。最后一列給出每個點的標(biāo)簽(標(biāo)簽包含三類: Iris-virginica 、 Iris-versicolor 和 Iris-Vertosa )。在示例中,這些點的顏色將取決于它們的標(biāo)簽,如下所示:
import numpy as np
import matplotlib.pyplot as plt
label_set = (
b'Iris-setosa',
b'Iris-versicolor',
b'Iris-virginica',
)
def read_label(label):
return label_set.index(label)
data = np.loadtxt('iris.data', delimiter = ',', converters = { 4 : read_label })
color_set = ('c', 'y', 'm')
color_list = [color_set[int(label)] for label in data[:,4]]
plt.scatter(data[:,0], data[:,1], color = color_list)
plt.show()

對于三種可能的標(biāo)簽,我們分別指定一種唯一的顏色,顏色在 color_set 中定義,標(biāo)簽在 label_set 中定義。 label_set 中的第 i 個標(biāo)簽與 color_set 中的第 i 個顏色相關(guān)聯(lián)。然后我們利用它們把標(biāo)簽列表轉(zhuǎn)換成顏色列表 color_list 。然后只需調(diào)用 plt.scatter() 一次即可顯示所有點及其顏色。
除了以上方法外,我們也可以通過對三個不同的類別單獨(dú)調(diào)用 plt.scatter() 來實現(xiàn),但這將需要更多的代碼。另外需要注意的是:如果兩點有可能有相同的坐標(biāo),但有不同的標(biāo)簽,顯示的顏色將是后繪制點的顏色,我們也可以使用帶有透明通道的顏色值,用來顯示重疊點。
2.4 為散點圖中數(shù)據(jù)點的邊使用自定義顏色
與 color 參數(shù)控制點的顏色一樣,可以使用 edgecolor 參數(shù)控制數(shù)據(jù)點的邊的顏色,可以為每個點的邊設(shè)置相同的顏色:
import numpy as np import matplotlib.pyplot as plt data = np.random.standard_normal((100, 2)) plt.scatter(data[:,0], data[:,1], color = '1.0', edgecolor='r') plt.show()

除了為每個點的邊設(shè)置相同的顏色外,也可以像在為每個點定義不同的顏色部分中介紹的一樣為每個點的邊設(shè)置不邊的顏色。
2.5 使用自定義顏色繪制條形圖
控制繪制條形圖使用的顏色與曲線圖和散點圖的工作原理相同,即通過可選參數(shù) color :
import numpy as np import matplotlib.pyplot as plt w_pop = np.array([5., 30., 45., 22.]) m_pop = np.array( [5., 25., 50., 20.]) x = np.arange(4) plt.barh(x, w_pop, color='m') plt.barh(x, -m_pop, color='c') plt.show()

同樣,使用 plt.bar() 和 plt.barh() 函數(shù)自定義顏色繪制條形圖的工作方式與 plt.scatter() 完全相同,只需設(shè)置可選參數(shù) color ,同時也可以參數(shù) edgecolor 控制條形邊的顏色。`
import numpy as np
import matplotlib.pyplot as plt
values = np.random.random_integers(99, size = 50)
color_set = ('c', 'm', 'y', 'b')
color_list = [color_set[(len(color_set) * val) // 100] for val in values]
plt.bar(np.arange(len(values)), values, color = color_list)
plt.show()

2.6 使用自定義顏色繪制餅圖
自定義餅圖顏色的方法類似于條形圖:
import numpy as np
import matplotlib.pyplot as plt
color_set = ('c', 'm', 'y', 'b')
values = np.random.rand(6)
plt.pie(values, colors = color_set)
plt.show()

餅圖接受使用 colors 參數(shù)(注意,此處是 colors ,而不是在 plt.plot() 中使用的 color )的顏色列表。但是,如果顏色數(shù)少于輸入值列表中的元素數(shù),那么 plt.pie() 將循環(huán)使用顏色列表中的顏色。在示例中,使用包含四種顏色的列表,為了給包含六個值的餅圖著色,其中有兩個顏色將使用兩次。
2.7 使用自定義顏色繪制箱型圖
使用以下代碼,修改箱型圖中線條顏色:
import numpy as np
import matplotlib.pyplot as plt
values = np.random.randn(100)
b = plt.boxplot(values)
for name, line_list in b.items():
for line in line_list:
line.set_color('m')
plt.show()

2.8 使用色彩映射繪制散點圖
如果要在圖形中使用多種顏色,逐個定義每種顏色并不是最佳方案,色彩映射可以解決此問題。色彩映射用一個變量對應(yīng)一個值(顏色)的連續(xù)函數(shù)定義顏色。 Matplotlib 提供了幾種常見的顏色映射;大多數(shù)是連續(xù)的顏色漸變。色彩映射在 matplotib.cm 模塊中定義,提供創(chuàng)建和使用色彩映射的函數(shù),它還提供了預(yù)定義的色彩映射選擇。
函數(shù) plt.scatter() 接受 color 參數(shù)的值列表,當(dāng)提供 cmap 參數(shù)值時,這些值將被解釋為色彩映射的索引:
import numpy as np import matplotlib.cm as cm import matplotlib.pyplot as plt n = 256 angle = np.linspace(0, 8 * 2 * np.pi, n) radius = np.linspace(.5, 1., n) x = radius * np.cos(angle) y = radius * np.sin(angle) plt.scatter(x, y, c = angle, cmap = cm.hsv) plt.show()

在 matplotlib.cm 模塊中提供了大量預(yù)定義的色彩映射,其中 cm.hsv 包含全光譜的顏色。
2.9 使用色彩映射繪制條形圖
plt.scatter() 函數(shù)內(nèi)置了對色彩映射的支持,其他一些繪圖函數(shù)也內(nèi)置支持色彩映射。但是,有些函數(shù)(如 plt.bar() )并未內(nèi)置對色彩映射的支持,在這種情況下, Matplotlib 可以從顏色映射顯式生成顏色:
import numpy as np import matplotlib.cm as cm import matplotlib.pyplot as plt import matplotlib.colors as col values = np.random.random_integers(99, size = 50) cmap = cm.ScalarMappable(col.Normalize(0, 99), cm.binary) plt.bar(np.arange(len(values)), values, color = cmap.to_rgba(values)) plt.show()

以上代碼首先創(chuàng)建色彩映射 cmap ,以便將 [0, 99] 范圍內(nèi)的值映射到 matplotlib.cm.binary 的顏色。然后,函數(shù) cmap.to_rgba 將值列表轉(zhuǎn)換為顏色列表。因此,盡管 plt.bar() 并未內(nèi)置色彩映射支持,但依舊可以使用并不復(fù)雜的代碼實現(xiàn)色彩映射。
2.10 創(chuàng)建自定義配色方案
Matplotlib 使用的默認(rèn)顏色考慮的主要對象是打印文檔或出版物。因此,默認(rèn)情況下,背景為白色,而標(biāo)簽、軸和其他注釋則顯示為黑色,在某些不同的使用環(huán)境中,我們可能需要使用的配色方案;例如,將圖形背景設(shè)置為黑色,注釋設(shè)置為白色。
在 Matplotlib 中,各種對象(如軸、圖形和標(biāo)簽)都可以單獨(dú)修改,但逐個更改這些對象的顏色配置并非最佳方案。我們可以使用在《Matplotlib安裝與配置》介紹的方法,通過修改配置集中改變所有對象,以配置其默認(rèn)顏色或樣式:
import numpy as np
import matplotlib as mpl
from matplotlib import pyplot as plt
mpl.rc('lines', linewidth = 2.)
mpl.rc('axes', facecolor = 'k', edgecolor = 'w')
mpl.rc('xtick', color = 'w')
mpl.rc('ytick', color = 'w')
mpl.rc('text', color = 'w')
mpl.rc('figure', facecolor = 'k', edgecolor ='w')
mpl.rc('axes', prop_cycle = mpl.cycler(color=[(0.1, .5, .75),(0.5, .5, .75)]))
x = np.linspace(0, 7, 1024)
plt.plot(x, np.sin(x))
plt.plot(x, np.cos(x))
plt.show()

3. 使用自定義樣式
3.1 控制線條樣式和線寬
在實踐中,除了顏色,大多數(shù)情況下我們還要對圖形的線條樣式等進(jìn)行控制,以為線條樣式添加多樣性。
3.1.1 線條樣式
import numpy as np import matplotlib.pyplot as plt def gaussian(x, mu, sigma): a = 1. / (sigma * np.sqrt(2. * np.pi)) b = -1. / (2. * sigma ** 2) return a * np.exp(b * (x - mu) ** 2) x = np.linspace(-6, 6, 1024) plt.plot(x, gaussian(x, 0., 1.), color = 'y', linestyle = 'solid') plt.plot(x, gaussian(x, 0., .5), color = 'c', linestyle = 'dashed') plt.plot(x, gaussian(x, 0., .25), color = 'm', linestyle = 'dashdot') plt.show()

使用 plt.plot() 的 linestyle 參數(shù)來控制曲線的樣式,其他可用線條樣式包括: solid 、 dashed 、 dotted 、 dashdot 。同樣,線條樣式設(shè)置不僅限于 plt.plot() ,任何由線條構(gòu)成的圖形都可以使用此參數(shù),也可以說 linestyle 參數(shù)可用于所有涉及線條渲染的命令。例如,可以修改條形圖的線條樣式:
import numpy as np import matplotlib.pyplot as plt n = 10 a = np.random.random(n) b = np.random.random(n) x = np.arange(n) plt.bar(x, a, color='c') plt.bar(x, a+b, bottom=a, color='w', edgecolor='black', linestyle = 'dashed') plt.show()

由于在條形圖、餅圖等圖形中,默認(rèn)的邊線的顏色為白色,因此若要在白色背景上顯示這些邊線,需要通過 edgecolor 參數(shù)改變邊線的默認(rèn)顏色。
3.1.2 線寬
使用 linewidth 參數(shù)可以修改線條的粗細(xì)。默認(rèn)情況下, linewidth 設(shè)置為1個單位。利用線條的粗細(xì)可以在視覺上強(qiáng)調(diào)某條特定的曲線。
import numpy as np import matplotlib.pyplot as plt def gaussian(x, mu, sigma): a = 1. / (sigma * np.sqrt(2. * np.pi)) b = -1. / (2. * sigma ** 2) return a * np.exp(b * (x - mu) ** 2) x = np.linspace(-6, 6, 1024) for i in range(64): samples = np.random.standard_normal(50) mu, sigma = np.mean(samples), np.std(samples) plt.plot(x, gaussian(x, mu, sigma), color = '.75', linewidth = .5) plt.plot(x, gaussian(x, 0., 1.), color = 'c', linewidth = 3.) plt.show()

3.2 控制填充樣式
Matplotlib 提供了填充圖案用于填充平面。這些填充圖案,對于僅包含黑白兩色的圖形中具有重要作用。
import numpy as np import matplotlib.pyplot as plt n = 10 a = np.random.random(n) b = np.random.random(n) x = np.arange(n) plt.bar(x, a, color='w', hatch='x', edgecolor='black') plt.bar(x, a+b, bottom=a, color='w', edgecolor='black', hatch='/') plt.show()

具有填充呈現(xiàn)性的函數(shù)(如 plt.bar() )都可以使用可選參數(shù) hatch 控制填充樣式,此參數(shù)的可選值包括: / , \ , | , - , + , x , o , O , . 和 * ,每個值對應(yīng)于不同的填充圖案; edgecolor 參數(shù)可用于控制填充圖案的顏色。
3.3 控制標(biāo)記
3.3.1 控制標(biāo)記樣式
在《Matplotlib圖形繪制》中,我們已經(jīng)了解了如何繪制曲線,并明白了曲線是由點之間的連線構(gòu)成的;此外,散點圖表示數(shù)據(jù)集中的每個點。而 Matplotlib 提供了多種形狀,可以用其他類型的標(biāo)記替換點的樣式。標(biāo)記的指定方式包括以下幾種:
- 預(yù)定義標(biāo)記:預(yù)定義的形狀,表示為
[0, 8]范圍內(nèi)的整數(shù)或某些預(yù)定義的字符串。 - 頂點列表:值對列表,用作形狀路徑的坐標(biāo)。
- 正多邊形:表示
N邊正多邊形的三元組(N, 0, angle),其中angle為旋轉(zhuǎn)角度。 - 星形多邊形:它表示為三元組
(N, 1, angle),代表N邊正星形,其中angle為旋轉(zhuǎn)角度。
import numpy as np import matplotlib.pyplot as plt a = np.random.standard_normal((100, 2)) a += np.array((-1, -1)) b = np.random.standard_normal((100, 2)) b += np.array((1, 1)) plt.scatter(a[:,0], a[:,1], color = 'm', marker = 'x') plt.scatter(b[:,0], b[:,1], color = 'c', marker = '^') plt.show()

可以看到,使用 marker 參數(shù),可以為每個數(shù)據(jù)集合指定不同的標(biāo)記。
我們已經(jīng)學(xué)習(xí)了如何在散點圖中為每個點定義不同的顏色,如果我們需要為每個點定義不同樣式該怎么辦呢?問題在于,與 color 參數(shù)不同, marker 參數(shù)不接受標(biāo)記樣式列表作為輸入。因此,我們不能實現(xiàn) plt.scatter() 的單次調(diào)來顯示具有不同標(biāo)記的多個點集。解決方案是,將每種類型的數(shù)據(jù)點分隔置不同集合中,并為每個集合單獨(dú)調(diào)用 plt.scatter() 調(diào)用:
import numpy as np
import matplotlib.pyplot as plt
label_list = (
b'Iris-setosa',
b'Iris-versicolor',
b'Iris-virginica',
)
colors = ['c','y','m']
def read_label(label):
return label_list.index(label)
data = np.loadtxt('iris.data', delimiter = ',', converters = { 4 : read_label })
marker_set = ('^', 'x', '.')
for i, marker in enumerate(marker_set):
data_subset = np.asarray([x for x in data if x[4] == i])
plt.scatter(data_subset[:,0], data_subset[:,1], color = colors[i], marker = marker)
plt.show()

對于 plt.plot() ,也可以使用相同的標(biāo)記參數(shù)訪問標(biāo)記樣式。當(dāng)數(shù)據(jù)點密集時,每個點都使用標(biāo)記進(jìn)行顯示將會導(dǎo)致圖片混亂,因此 Matplotlib 提供了 markevery 參數(shù),允許每隔 N 個點顯示一個標(biāo)記:
import numpy as np import matplotlib.pyplot as plt x = np.linspace(-6, 6, 1024) y_1 = np.sinc(x) y_2 = np.sinc(x) + 1 plt.plot(x, y_1, marker = 'x', color = '.75') plt.plot(x, y_2, marker = 'o', color = 'k', markevery = 64) plt.show()

3.3.1 控制標(biāo)記大小
標(biāo)記的大小可選參數(shù) s 進(jìn)行控制:
import numpy as np import matplotlib.pyplot as plt a = np.random.standard_normal((100, 2)) a += np.array((-1, -1)) b = np.random.standard_normal((100, 2)) b += np.array((1, 1)) plt.scatter(a[:,0], a[:,1], c = 'm', s = 100.) plt.scatter(b[:,0], b[:,1], c = 'c', s = 25.) plt.show()

標(biāo)記的大小由 plt.scatter() 的參數(shù) s 設(shè)置,但應(yīng)注意它設(shè)置的是標(biāo)記的表面積倍率而非半徑。 plt.scatter() 函數(shù)還可以接受列表作為 s 參數(shù)的輸入,其表示每個點對應(yīng)的大?。?/p>
import numpy as np import matplotlib.pyplot as plt m = np.random.standard_normal((1000, 2)) r_list = np.sum(m ** 2, axis = 1) plt.scatter(m[:, 0], m[:, 1], c = 'w', edgecolor='c', marker = 'o', s = 32. * r_list) plt.show()

plt.plot() 函數(shù)允許在 markersize (或簡寫為 ms )參數(shù)的幫助下更改標(biāo)記的大小,但是此參數(shù)不接受列表作為輸入。
3.3.3 創(chuàng)建自定義標(biāo)記
雖然 Matplotlib 提供了多種標(biāo)記形狀。但是在某些情況下我們可能仍然找不到適合具體需求的形狀。例如,我們可能希望使用公司徽標(biāo)等作為形狀。
在 Matplotlib 中,將形狀描述為一條路徑——一系列點的連接。因此,如果要定義我們自己的標(biāo)記形狀,必須提供一系列的點:
import numpy as np import matplotlib.path as mpath from matplotlib import pyplot as plt shape_description = [ ( 1., 2., mpath.Path.MOVETO), ( 1., 1., mpath.Path.LINETO), ( 2., 1., mpath.Path.LINETO), ( 2., -1., mpath.Path.LINETO), ( 1., -1., mpath.Path.LINETO), ( 1., -2., mpath.Path.LINETO), (-1., -2., mpath.Path.LINETO), (-1., -1., mpath.Path.LINETO), (-2., -1., mpath.Path.LINETO), (-2., 1., mpath.Path.LINETO), (-1., 1., mpath.Path.LINETO), (-1., 2., mpath.Path.LINETO), ( 0., 0., mpath.Path.CLOSEPOLY), ] u, v, codes = zip(*shape_description) my_marker = mpath.Path(np.asarray((u, v)).T, codes) data = np.random.rand(8, 8) plt.scatter(data[:,0], data[:, 1], c = 'm', marker = my_marker, s = 75) plt.show()

通過以上示例,可以看到,所有帶有標(biāo)記的 plt 繪圖函數(shù)都有一個可選參數(shù) marker ,其參數(shù)值可以是預(yù)定義的 Matplotlib 標(biāo)記,也可以是自定義的路徑實例,路徑對象在 matplotlib.path 模塊中定義。
Path 對象的構(gòu)造函數(shù)將坐標(biāo)列表和指令列表作為輸入;每個坐標(biāo)一條指令,使用一個列表將坐標(biāo)和指令融合在一起,然后將坐標(biāo)列表和指令傳遞給路徑構(gòu)造函數(shù),如下所示:
u, v, codes = zip(*shape_description) my_marker = mpath.Path(np.asarray((u, v)).T, codes)
形狀是通過光標(biāo)的移動來描述的:
MOVETO:此指令將光標(biāo)移動到指定的坐標(biāo),并不畫線。LINETO:這將在光標(biāo)當(dāng)前點和目標(biāo)點之間繪制直線,并將光標(biāo)移動至目標(biāo)點。CLOSEPOLY:此指令僅用于關(guān)閉路徑,每個形狀都以這條指示結(jié)束。
理論上,任何形狀都是可能的,我們只需要描述它的路徑。但在實踐中,如果想使用復(fù)雜的形狀,最好可以提前進(jìn)行轉(zhuǎn)換工作。
相關(guān)鏈接
總結(jié)
到此這篇關(guān)于Matplotlib風(fēng)格與樣式的文章就介紹到這了,更多相關(guān)Matplotlib風(fēng)格與樣式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pandas讀取csv文件,分隔符參數(shù)sep的實例
今天小編就為大家分享一篇pandas讀取csv文件,分隔符參數(shù)sep的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
Python數(shù)據(jù)處理利器Pandas?DataFrame常用操作
這篇文章主要為大家介紹了Python數(shù)據(jù)處理利器Pandas?DataFrame,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
使用NumPy和pandas對CSV文件進(jìn)行寫操作的實例
今天小編就為大家分享一篇使用NumPy和pandas對CSV文件進(jìn)行寫操作的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06

