久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

1.4Matplotlib:繪圖

 powerbaby 2016-02-23

Cloga:這份文檔是euroscipy關(guān)于Python科學(xué)計(jì)算資源的一個(gè)教程,。英文版地址為:http://scipy-lectures./,,是學(xué)習(xí)Python科學(xué)計(jì)算生態(tài)體系很好的資料,,因此,,我會(huì)陸續(xù)將它翻譯為中文,,相關(guān)Gitbub地址為:https://github.com/cloga/scipy-lecture-notes_cn,,完整的中文目錄


本文的IPython版本

1.4.1 簡(jiǎn)介

Matplotlib 可能是Python惟一一個(gè)最廣泛使用的二維圖包。它同時(shí)提供了從Python中可視化數(shù)據(jù)非常的快速方式以及多種格式的出版質(zhì)量圖片,。我們將在交互模式下研究Matplotlib,,包含大多數(shù)的常用案例。

1.4.1.1 IPython和pylab模式

IPython是強(qiáng)化版交互Python shell,,有許多有趣的功能,包括:輸入輸出的命名,、訪問(wèn)shell命令改進(jìn)錯(cuò)誤排除等,。它位于Python中的科學(xué)計(jì)算工作流的核心,要讓它與Matplotlib的結(jié)合使用:

用命令行參數(shù) -pylab--pylab 從IPython0.12開(kāi)始)啟動(dòng)IPython,,獲得帶有Matlab/Mathematica類似功能的交互Matplotlib session,。

1.4.1.2 pylab

pylab提供了matplotlib面向?qū)ο蟮睦L圖庫(kù)的程序接口。它的模型與Matlab?非常相近,。因此,,pylab中的絕大多數(shù)繪圖命令Matlab?都有帶有相似函數(shù)的類似實(shí)現(xiàn)。重要的命令會(huì)以交互例子來(lái)解釋,。

1.4.2 簡(jiǎn)單繪圖

在這個(gè)部分,,我們將在同一個(gè)圖像中繪制cosine和sine函數(shù)。從默認(rèn)設(shè)置開(kāi)始,,我們將不斷豐富圖片,,讓它看起來(lái)更漂亮。

第一步獲得sine和cosine函數(shù)的數(shù)據(jù):

import numpy as np

X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
C, S = np.cos(X), np.sin(X)

X現(xiàn)在是Numpy數(shù)組,,范圍是之間(包含)的256個(gè)值,。C是cosine(256個(gè)值),而S是sine(256個(gè)值)

要運(yùn)行例子,,你可以在IPython的交互session中輸入這些命令:

ipython --pylab

這會(huì)將我們帶到IPython提示符:

IPython 2.3.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.
Using matplotlib backend: MacOSX

你可以下載每個(gè)示例,,然后用平常的Python運(yùn)行,但是,,你將沒(méi)法動(dòng)態(tài)的數(shù)據(jù)操作:

python exercice_1.py

通過(guò)點(diǎn)擊對(duì)應(yīng)的圖片,,你可以獲得每一步的源碼,。

1.4.2.1 用默認(rèn)設(shè)置繪圖


提示:文檔


Matplotlib有一組默認(rèn)設(shè)置,允許自定義所有的屬性,。你幾乎可以控制在matplotlib中的所有屬性:圖片大小和dpi,、線長(zhǎng)度、顏色和樣式,、坐標(biāo)軸,、坐標(biāo)軸和網(wǎng)格屬性、文本和字體屬性等等,。

import pylab as pl
import numpy as np

X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
C, S = np.cos(X), np.sin(X)

pl.plot(X, C)
pl.plot(X, S)

pl.show()

plot_exercice_1_1.png

1.4.2.2 默認(rèn)值示例


提示:文檔


在下面的腳本中,,我們標(biāo)示(備注)了影響繪圖外觀的所有圖片設(shè)置。

這些設(shè)置被顯式的設(shè)置為默認(rèn)值,,但是現(xiàn)在你可以交互的實(shí)驗(yàn)這些值以便驗(yàn)證他們的效果(看一下下面的線屬性線樣式),。

import pylab as pl
import numpy as np

# 創(chuàng)建一個(gè)大小為 8X6 英寸,每英寸80個(gè)點(diǎn)的圖片
pl.figure(figsize=(8, 6), dpi=80)

# 從1X1的網(wǎng)格創(chuàng)建一個(gè)子圖片
pl.subplot(1, 1, 1)

X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
C, S = np.cos(X), np.sin(X)

# 用寬度為1(像素)的藍(lán)色連續(xù)直線繪制cosine
pl.plot(X, C, color="blue", linewidth=1.0, linestyle="-")

# 用寬度為1(像素)的綠色連續(xù)直線繪制sine
pl.plot(X, S, color="green", linewidth=1.0, linestyle="-")

# 設(shè)置x軸的極值
pl.xlim(-4.0, 4.0)

# 設(shè)置x軸的刻度值
pl.xticks(np.linspace(-4, 4, 9, endpoint=True))

# 設(shè)置y軸的極值
pl.ylim(-1.0, 1.0)

# 設(shè)置y軸的刻度值
pl.yticks(np.linspace(-1, 1, 5, endpoint=True))

# 用72dpi保存圖片
# savefig("exercice_2.png", dpi=72)

# 在屏幕上顯示結(jié)果
pl.show()

plot_exercice_2_1.png

1.4.2.3 改變顏色和線寬度


提示:文檔


首先,,我們想要cosine是藍(lán)色,,sine是紅色,兩者都是稍稍粗一點(diǎn)的線,。我們也改變了一點(diǎn)圖片的大小,,讓它更加水平。

pl.figure(figsize=(10, 6), dpi=80)
pl.plot(X, C, color="blue", linewidth=2.5, linestyle="-")
pl.plot(X, S, color="red",  linewidth=2.5, linestyle="-")

plot_exercice_3_1.png

1.4.2.4 設(shè)置極值


提示:文檔


當(dāng)前的圖片的極值限制太擁擠了,,我們希望留一點(diǎn)空間以便清晰的看到所有的數(shù)據(jù)點(diǎn),。

pl.xlim(X.min() * 1.1, X.max() * 1.1)
pl.ylim(C.min() * 1.1, C.max() * 1.1)

plot_exercice_4_1.png

1.4.2.5 設(shè)置坐標(biāo)軸刻度值

提示:文檔

現(xiàn)在的刻度不太理想,因?yàn)樗麄儧](méi)有顯示對(duì)于sine和cosine有意義的值(+/-π,+/-π/2),。我們將改變這些刻度,,讓他們只顯示這些值。

pl.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi])
pl.yticks([-1, 0, +1])

plot_exercice_5_1.png

1.4.2.6 設(shè)置刻度標(biāo)簽

提示:文檔

刻度現(xiàn)在放在了正確的位置,,但是標(biāo)簽并不是顯而易見(jiàn),。我們能想到3.14是π,但是最好讓它更明確,。

當(dāng)我們?cè)O(shè)置了刻度值,,我們也可以在第二個(gè)參數(shù)中列出對(duì)應(yīng)的標(biāo)簽。注意我們用latex以便更好的渲染標(biāo)簽,。

pl.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi],
          [r'$-\pi$', r'$-\pi/2$', r'$0$', r'$+\pi/2$', r'$+\pi$'])

pl.yticks([-1, 0, +1],
          [r'$-1$', r'$0$', r'$+1$'])

1.4.2.7 移動(dòng)脊柱

提示:文檔

脊柱是連接坐標(biāo)軸刻度標(biāo)記的線,,記錄了數(shù)據(jù)范圍的邊界。他們可以被放在任意的位置,,到目前位置,,他們被放在了坐標(biāo)軸的四周。我們將改變他們,因?yàn)槲覀兿M麄冊(cè)谥虚g,。因?yàn)橛兴臈l(上下左右),,我們通過(guò)設(shè)置顏色為None舍棄了頂部和右側(cè),并且我們將把底部和左側(cè)的脊柱移動(dòng)到數(shù)據(jù)空間坐標(biāo)的零點(diǎn),。

ax = pl.gca()  # gca stands for 'get current axis'
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))

plot_exercice_7_1.png

1.4.2.8 添加圖例

提示:文檔

讓我們?cè)谧辖翘砑訄D例,。這只需要在plot命里中添加關(guān)鍵詞參數(shù)label(將被用于圖例框)。

pl.plot(X, C, color="blue", linewidth=2.5, linestyle="-", label="cosine")
pl.plot(X, S, color="red",  linewidth=2.5, linestyle="-", label="sine")

pl.legend(loc='upper left')

../../_images/plot_exercice_8_1.png

1.4.2.9 標(biāo)注一些點(diǎn)

提示:文檔

讓我們用annotate命令標(biāo)注一些有趣的點(diǎn),。我們選取值2π/3,,我們想要標(biāo)注sine和cosine。首先我們?cè)谇€上畫出了一個(gè)垂直的散點(diǎn)標(biāo)記線,。然后,,我們將用annotate命令顯示帶有剪頭的文字。

t = 2 * np.pi / 3
pl.plot([t, t], [0, np.cos(t)], color='blue', linewidth=2.5, linestyle="--")
pl.scatter([t, ], [np.cos(t), ], 50, color='blue')

pl.annotate(r'$sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$',
            xy=(t, np.sin(t)), xycoords='data',
            xytext=(+10, +30), textcoords='offset points', fontsize=16,
            arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2"))

pl.plot([t, t],[0, np.sin(t)], color='red', linewidth=2.5, linestyle="--")
pl.scatter([t, ],[np.sin(t), ], 50, color='red')

pl.annotate(r'$cos(\frac{2\pi}{3})=-\frac{1}{2}$',
            xy=(t, np.cos(t)), xycoords='data',
            xytext=(-90, -50), textcoords='offset points', fontsize=16,
            arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2"))

plot_exercice_9_1.png

1.4.2.10 細(xì)節(jié)是魔鬼

提示:文檔

因?yàn)樗{(lán)色和紅色的線,,刻度標(biāo)簽很難看到,。我們可以讓他們更大一些,也可以調(diào)整他們的屬性以便他們被處理為半透明的白色背景,。這樣我們就可以同時(shí)看到數(shù)據(jù)和標(biāo)簽,。

for label in ax.get_xticklabels() + ax.get_yticklabels():
    label.set_fontsize(16)
    label.set_bbox(dict(facecolor='white', edgecolor='None', alpha=0.65))

plot_exercice_10_1.png

1.4.3 圖形、子圖,、軸和刻度

在matplotlib中“圖形”是用戶界面中的整個(gè)窗口,。在這個(gè)圖形中可以有“子圖”。

到目前為止,,我們已經(jīng)使用圖形和創(chuàng)建數(shù)軸。這對(duì)于快速繪圖是非常方便的,。使用圖形,、子圖和軸我們可以控制顯示。盡管子圖將圖表放在標(biāo)準(zhǔn)的網(wǎng)格中,,軸可以在圖形中放在任意位置,。根據(jù)你的目的不同,二者都非常有用,。我們也在沒(méi)有顯式的調(diào)用圖形和子圖時(shí)使用了他們,。當(dāng)我們調(diào)用plot時(shí),matplotlib調(diào)用gca()來(lái)獲得當(dāng)前的坐標(biāo)軸,,相應(yīng)的調(diào)用gcf()獲得當(dāng)前的圖形,。如果沒(méi)有當(dāng)前圖形,那么將調(diào)用figure()去創(chuàng)建一個(gè),,嚴(yán)格來(lái)說(shuō)是創(chuàng)建一個(gè)`subplot(111),。讓我們來(lái)詳細(xì)看一下。

1.4.3.1 圖形

圖形是在GUI中的窗口,標(biāo)題是"Figure #",。圖形的標(biāo)號(hào)從1開(kāi)始,,而不是常規(guī)的Python方式從0開(kāi)始。這明顯是MATLAB-風(fēng)格,。這些參數(shù)決定圖形的外觀:

參數(shù) 默認(rèn)值 描述
num 1 圖形編號(hào)
figsize figure.figsize 以英寸表示的圖形大?。▽挕⒏撸?/td>
dpi figure.dpi 分辨率以每英寸點(diǎn)數(shù)表示
facecolor figure.facecolor 背景色
edgecolor figure.edgecolor 背景邊緣色
frameon True 是否繪制框架

默認(rèn)值可以在資源文件中指明,,并在絕大數(shù)時(shí)間使用,。只有圖形數(shù)經(jīng)常被改變。

與其他對(duì)象類似,,你可以用setp或者set_something方法設(shè)置圖形屬性,。

當(dāng)你使用GUI工作時(shí),你可以點(diǎn)擊右上的X關(guān)閉圖形,。但是,,你可以通過(guò)調(diào)用close用程序關(guān)閉圖形。根據(jù)參數(shù)關(guān)閉不同內(nèi)容(1)當(dāng)前圖形(沒(méi)有參數(shù)),,(2)特定圖形(用圖形編號(hào)或圖形實(shí)例做參數(shù)),,(3)所有圖形("all"作為參數(shù))。

pl.close(1)     # Closes figure 1

1.4.3.2 子圖

用子圖你可以將圖片放置在標(biāo)準(zhǔn)方格中,。你需要指定行列數(shù)和圖片數(shù),。 注意gridspec命令相對(duì)更加高級(jí)。

plot_subplot-horizontal_1.pngplot_subplot-vertical_1.pngplot_subplot-grid_1.pngplot_gridspec_1.png

1.4.3.3 軸

軸與子圖非常類似,,不過(guò)允許圖形放在圖片的任意位置,。因此,如果我們想要將一個(gè)小圖形放在一個(gè)更大圖形中,,我們可以用軸,。

plot_axes_1.pngplot_axes-2_1.png

1.4.3.4 刻度

格式良好的刻度是準(zhǔn)備好發(fā)布圖片的必要部分。Matplotlib提供了一個(gè)完全可控的刻度系統(tǒng),。有刻度位置來(lái)指定刻度該出現(xiàn)在哪,,還有刻度格式來(lái)給出你想要的刻度外觀。主刻度和子刻度可以被獨(dú)立放置和整理格式,。之前子刻度默認(rèn)是不顯示的,,即他們只有空列表,因?yàn)樗?code>NullLocator (見(jiàn)下面),。

1.4.3.4.1 刻度位置

刻度位置可以控制的位置,。它的設(shè)置如下:

ax = pl.gca()
ax.xaxis.set_major_locator(eval(locator))

不同的需求有多種位置:

plot_ticks_1.png

所有這些位置都可以從基礎(chǔ)類matplotlib.ticker.Locator衍生出來(lái)。你可以從中衍生出你自己的位置,。將日期處理為刻度特別困哪,。因此,,matplotlib提供了特殊的位置matplotlib.dates

1.4.4 其他類型的圖形:例子與練習(xí)

1.4.4.1 常規(guī)圖形


提示:你可以使用fill_between命令,。


plot_plot_ex_1.png

從下面的代碼開(kāi)始,,試著重新生成這個(gè)圖片,小心處理填充區(qū)域:

n = 256
X = np.linspace(-np.pi, np.pi, n, endpoint=True)
Y = np.sin(2 * X)

pl.plot(X, Y + 1, color='blue', alpha=1.00)
pl.plot(X, Y - 1, color='blue', alpha=1.00)

點(diǎn)擊圖片查看答案,。

1.4.4.2 散點(diǎn)圖


提示:顏色根據(jù)角度進(jìn)行分配


plot_scatter_ex_1.png

從下面的代碼開(kāi)始,,試著重新生成這個(gè)圖片,小心處理標(biāo)記的大小顏色和透明度:

n = 1024
X = np.random.normal(0,1,n)
Y = np.random.normal(0,1,n)

pl.scatter(X,Y)

點(diǎn)擊圖片查看答案,。

1.4.4.3 柱狀圖


提示:你需要小心文本對(duì)齊


plot_bar_ex_1.png

從下面的代碼開(kāi)始,,試著重新生成這個(gè)圖片,添加紅柱的標(biāo)簽,。

n = 12
X = np.arange(n)
Y1 = (1 - X / float(n)) * np.random.uniform(0.5, 1.0, n)
Y2 = (1 - X / float(n)) * np.random.uniform(0.5, 1.0, n)

pl.bar(X, +Y1, facecolor='#9999ff', edgecolor='white')
pl.bar(X, -Y2, facecolor='#ff9999', edgecolor='white')

for x, y in zip(X, Y1):
    pl.text(x + 0.4, y + 0.05, '%.2f' % y, ha='center', va='bottom')

pl.ylim(-1.25, +1.25)

點(diǎn)擊圖片查看答案,。

1.4.4.4 輪廓圖


提示:你需要是使用clabel命令。


plot_contour_ex_1.png

從下面的代碼開(kāi)始,,試著重新生成這個(gè)圖片,,小心處理colormap (見(jiàn)下面的Colormaps)。

def f(x, y):
    return (1 - x / 2 + x ** 5 + y ** 3) * np.exp(-x ** 2 -y ** 2)

n = 256
x = np.linspace(-3, 3, n)
y = np.linspace(-3, 3, n)
X, Y = np.meshgrid(x, y)

pl.contourf(X, Y, f(X, Y), 8, alpha=.75, cmap='jet')
C = pl.contour(X, Y, f(X, Y), 8, colors='black', linewidth=.5)

點(diǎn)擊圖片查看答案,。

1.4.4.5 Imshow


提示:你需要小心處理在imshow命令中的圖像原點(diǎn)并使用colorbar


plot_imshow_ex_1.png

從下面的代碼開(kāi)始,,試著重新生成這個(gè)圖片,小心處理colormap和圖像插入以及原點(diǎn),。

def f(x, y):
    return (1 - x / 2 + x ** 5 + y ** 3) * np.exp(-x ** 2 - y ** 2)

n = 10
x = np.linspace(-3, 3, 4 * n)
y = np.linspace(-3, 3, 3 * n)
X, Y = np.meshgrid(x, y)
pl.imshow(f(X, Y))

點(diǎn)擊圖片查看答案,。

1.4.4.6 餅圖


提示:你需要調(diào)整Z。


plot_pie_ex_1.png

從下面的代碼開(kāi)始,,試著重新生成這個(gè)圖片,,小心處理顏色和切片大小。

Z = np.random.uniform(0, 1, 20)
pl.pie(Z)

點(diǎn)擊圖片查看答案,。

1.4.4.7 梯度圖


提示:你需要繪制兩次箭頭,。


plot_quiver_ex_1.png

從下面的代碼開(kāi)始,試著重新生成這個(gè)圖片,,小心處理顏色和方向,。

n = 8
X, Y = np.mgrid[0:n, 0:n]
pl.quiver(X, Y)

點(diǎn)擊圖片查看答案,。

1.4.4.8 網(wǎng)格

plot_grid_ex_1.png

從下面的代碼開(kāi)始,,試著重新生成這個(gè)圖片,小心處理線的樣式,。

axes = pl.gca()
axes.set_xlim(0, 4)
axes.set_ylim(0, 3)
axes.set_xticklabels([])
axes.set_yticklabels([])

點(diǎn)擊圖片查看答案,。

1.4.4.9 多圖


提示:你可以用不同的分割來(lái)使用多個(gè)子圖。


plot_multiplot_ex_1.png

pl.subplot(2, 2, 1)
pl.subplot(2, 2, 3)
pl.subplot(2, 2, 4)

點(diǎn)擊圖片查看答案,。

1.4.4.10 極坐標(biāo)系


提示:你只需要修改axes行,。


plot_polar_ex_1.png

從下面的代碼開(kāi)始,,試著重新生成這個(gè)圖片。

pl.axes([0, 0, 1, 1])

N = 20
theta = np.arange(0., 2 * np.pi, 2 * np.pi / N)
radii = 10 * np.random.rand(N)
width = np.pi / 4 * np.random.rand(N)
bars = pl.bar(theta, radii, width=width, bottom=0.0)

for r, bar in zip(radii, bars):
    bar.set_facecolor(cm.jet(r / 10.))
    bar.set_alpha(0.5)

點(diǎn)擊圖片查看答案,。

1.4.4.11 3D繪圖


提示:你需要使用contourf


plot_plot3d_ex_1.png

從下面的代碼開(kāi)始,,試著重新生成這個(gè)圖片。

from mpl_toolkits.mplot3d import Axes3D

fig = pl.figure()
ax = Axes3D(fig)
X = np.arange(-4, 4, 0.25)
Y = np.arange(-4, 4, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)

ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='hot')

點(diǎn)擊圖片查看答案,。

更多請(qǐng)見(jiàn)用Mayavi 3D繪圖

1.4.4.12 文本


提示:看一下matplotlib標(biāo)識(shí)


plot_text_ex_1.png

試著從0開(kāi)始做這個(gè)事情,!

點(diǎn)擊圖片查看答案。


快速閱讀

如果你想要快速看一下Scipy講座以便了解生態(tài)系統(tǒng),,你可以直接跳到下一章:Scipy:高級(jí)科學(xué)計(jì)算,。

本章的剩余部分對(duì)理解其他的介紹部分不是必須的。但是,,請(qǐng)確保在稍后回來(lái)完成這個(gè)章節(jié),。

1.4.5 這本教程之外

Matplotlib從大量的文檔以及用戶和開(kāi)發(fā)者社區(qū)中收益匪淺。這里是一些有趣的鏈接:

1.4.5.1 教程

  • Pyplot教程
    • 介紹
    • 控制line屬性
    • 處理多個(gè)圖形和坐標(biāo)軸
    • 處理文本
  • Image教程
    • 開(kāi)始命令
    • 從Numpy數(shù)組中導(dǎo)入圖像數(shù)據(jù)
    • 將numpy數(shù)組繪制為圖像
  • Text教程
    • Text介紹
    • 基本text命令
    • Text屬性和布局
    • 寫數(shù)學(xué)表達(dá)式
    • 用LaTeX渲染文本
    • 文本注釋
  • Artist教程
    • 介紹
    • 自定義你的對(duì)象
    • 對(duì)象容器
    • Figure容器
    • Axes容器
    • Axis容器
    • 刻度容器
  • Path教程
    • 介紹
    • Bézier例子
    • 復(fù)合路徑
  • 轉(zhuǎn)換教程
    • 介紹
    • 數(shù)據(jù)坐標(biāo)
    • Axes坐標(biāo)
    • 混合轉(zhuǎn)換
    • 用offset轉(zhuǎn)換來(lái)穿件一個(gè)陰影效果
    • pipline轉(zhuǎn)換

1.4.5.2 Matplotlib文檔

1.4.5.3 代碼文檔

代碼都有很好的文檔,,你可以在Python會(huì)話中用特定命令很快的訪問(wèn):

import pylab as pl
help(pl.plot)

Help on function plot in module matplotlib.pyplot:

plot(*args, **kwargs)
    Plot lines and/or markers to the
    :class:`~matplotlib.axes.Axes`.  *args* is a variable length
    argument, allowing for multiple *x*, *y* pairs with an
    optional format string.  For example, each of the following is
    legal::

        plot(x, y)        # plot x and y using default line style and color
        plot(x, y, 'bo')  # plot x and y using blue circle markers
        plot(y)           # plot y using x as index array 0..N-1
        plot(y, 'r+')     # ditto, but with red plusses

    If *x* and/or *y* is 2-dimensional, then the corresponding columns
    will be plotted.

    An arbitrary number of *x*, *y*, *fmt* groups can be
    specified, as in::

        a.plot(x1, y1, 'g^', x2, y2, 'g-')

    Return value is a list of lines that were added.

    By default, each line is assigned a different color specified by a
    'color cycle'.  To change this behavior, you can edit the
    axes.color_cycle rcParam.

    The following format string characters are accepted to control
    the line style or marker:

    ================    ===============================
    character           description
    ================    ===============================
    ``'-'``             solid line style
    ``'--'``            dashed line style
    ``'-.'``            dash-dot line style
    ``':'``             dotted line style
    ``'.'``             point marker
    ``','``             pixel marker
    ``'o'``             circle marker
    ``'v'``             triangle_down marker
    ``'^'``             triangle_up marker
    ``'<'``             triangle_left marker
    ``'>'``             triangle_right marker
    ``'1'``             tri_down marker
    ``'2'``             tri_up marker
    ``'3'``             tri_left marker
    ``'4'``             tri_right marker
    ``'s'``             square marker
    ``'p'``             pentagon marker
    ``'*'``             star marker
    ``'h'``             hexagon1 marker
    ``'H'``             hexagon2 marker
    ``'+'``             plus marker
    ``'x'``             x marker
    ``'D'``             diamond marker
    ``'d'``             thin_diamond marker
    ``'|'``             vline marker
    ``'_'``             hline marker
    ================    ===============================


    The following color abbreviations are supported:

    ==========  ========
    character   color
    ==========  ========
    'b'         blue
    'g'         green
    'r'         red
    'c'         cyan
    'm'         magenta
    'y'         yellow
    'k'         black
    'w'         white
    ==========  ========

    In addition, you can specify colors in many weird and
    wonderful ways, including full names (``'green'``), hex
    strings (``'#008000'``), RGB or RGBA tuples (``(0,1,0,1)``) or
    grayscale intensities as a string (``'0.8'``).  Of these, the
    string specifications can be used in place of a ``fmt`` group,
    but the tuple forms can be used only as ``kwargs``.

    Line styles and colors are combined in a single format string, as in
    ``'bo'`` for blue circles.

    The *kwargs* can be used to set line properties (any property that has
    a ``set_*`` method).  You can use this to set a line label (for auto
    legends), linewidth, anitialising, marker face color, etc.  Here is an
    example::

        plot([1,2,3], [1,2,3], 'go-', label='line 1', linewidth=2)
        plot([1,2,3], [1,4,9], 'rs',  label='line 2')
        axis([0, 4, 0, 10])
        legend()

    If you make multiple lines with one plot command, the kwargs
    apply to all those lines, e.g.::

        plot(x1, y1, x2, y2, antialised=False)

    Neither line will be antialiased.

    You do not need to use format strings, which are just
    abbreviations.  All of the line properties can be controlled
    by keyword arguments.  For example, you can set the color,
    marker, linestyle, and markercolor with::

        plot(x, y, color='green', linestyle='dashed', marker='o',
             markerfacecolor='blue', markersize=12).

    See :class:`~matplotlib.lines.Line2D` for details.

    The kwargs are :class:`~matplotlib.lines.Line2D` properties:

      agg_filter: unknown
      alpha: float (0.0 transparent through 1.0 opaque)         
      animated: [True | False]         
      antialiased or aa: [True | False]         
      axes: an :class:`~matplotlib.axes.Axes` instance         
      clip_box: a :class:`matplotlib.transforms.Bbox` instance         
      clip_on: [True | False]         
      clip_path: [ (:class:`~matplotlib.path.Path`,         :class:`~matplotlib.transforms.Transform`) |         :class:`~matplotlib.patches.Patch` | None ]         
      color or c: any matplotlib color         
      contains: a callable function         
      dash_capstyle: ['butt' | 'round' | 'projecting']         
      dash_joinstyle: ['miter' | 'round' | 'bevel']         
      dashes: sequence of on/off ink in points         
      drawstyle: ['default' | 'steps' | 'steps-pre' | 'steps-mid' |                   'steps-post']         
      figure: a :class:`matplotlib.figure.Figure` instance         
      fillstyle: ['full' | 'left' | 'right' | 'bottom' | 'top' | 'none']         
      gid: an id string         
      label: string or anything printable with '%s' conversion.         
      linestyle or ls: [``'-'`` | ``'--'`` | ``'-.'`` | ``':'`` | ``'None'`` |                   ``' '`` | ``''``]
      linewidth or lw: float value in points         
      lod: [True | False]         
      marker: unknown
      markeredgecolor or mec: any matplotlib color         
      markeredgewidth or mew: float value in points         
      markerfacecolor or mfc: any matplotlib color         
      markerfacecoloralt or mfcalt: any matplotlib color         
      markersize or ms: float         
      markevery: unknown
      path_effects: unknown
      picker: float distance in points or callable pick function         ``fn(artist, event)``         
      pickradius: float distance in points         
      rasterized: [True | False | None]         
      sketch_params: unknown
      snap: unknown
      solid_capstyle: ['butt' | 'round' |  'projecting']         
      solid_joinstyle: ['miter' | 'round' | 'bevel']         
      transform: a :class:`matplotlib.transforms.Transform` instance         
      url: a url string         
      visible: [True | False]         
      xdata: 1D array         
      ydata: 1D array         
      zorder: any number         

    kwargs *scalex* and *scaley*, if defined, are passed on to
    :meth:`~matplotlib.axes.Axes.autoscale_view` to determine
    whether the *x* and *y* axes are autoscaled; the default is
    *True*.



    Additional kwargs: hold = [True|False] overrides default hold state

1.4.5.4 畫廊

當(dāng)你搜索如何提供一個(gè)特定圖片時(shí),,matplotlib畫廊也非常有用。每個(gè)例子都有源碼,。

這里有一個(gè)小的畫廊,。

1.4.5.5 郵件列表

最后,你可以在用戶郵件列表尋求幫助,,而開(kāi)發(fā)者郵件列表則更偏技術(shù),。

1.4.6 快速參考

這里是一組表格,顯示了主要的屬性和樣式,。

1.4.6.1 Line屬性

屬性 描述 外觀
alpha (or a) alpha 0-1范圍的透明度 plot_alpha_1.png
antialiased True or False - use antialised rendering plot_aliased_1.png plot_antialiased_1.png
color (or c) matplotlib顏色參數(shù) plot_color_1.png
linestyle (or ls) see Line屬性
linewidth (or lw) 浮點(diǎn), 線寬度用小數(shù)表示 plot_linewidth_1.png
solid_capstyle 實(shí)線頭的樣式 plot_solid_capstyle_1.png
solid_joinstyle 實(shí)線的連接樣式 plot_solid_joinstyle_1.png
dash_capstyle 虛線頭的樣式 plot_dash_capstyle_1.png
dash_joinstyle 虛線的連接樣式 plot_dash_joinstyle_1.png
marker see 標(biāo)記
markeredgewidth (mew) 標(biāo)記符號(hào)的線寬度 plot_mew_1.png
markeredgecolor (mec) 標(biāo)記邊緣的顏色 plot_mec_1.png
markerfacecolor (mfc) 標(biāo)記的填充顏色 plot_mfc_1.png
markersize (ms) 標(biāo)記的大小,,以小數(shù)表示 plot_ms_1.png

1.4.6.2 線樣式

plot_linestyles_1.png

1.4.6.3 標(biāo)記

plot_markers_1.png

1.4.6.4 Colormaps

所有colormap都可以通過(guò)添加_r來(lái)進(jìn)行顏色反轉(zhuǎn)。例如gray_rgray的補(bǔ)色,。

如果你想要更多了解colormaps,,檢查一下matplotlib colormaps的文檔

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約