日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

matplotlib 快速绘图

發(fā)布時(shí)間:2025/3/15 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matplotlib 快速绘图 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

5.1 快速繪圖

matplotlib的pyplot子庫(kù)提供了和matlab類似的繪圖API,方便用戶快速繪制2D圖表。讓我們先來(lái)看一個(gè)簡(jiǎn)單的例子:

# -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as pltx = np.linspace(0, 10, 1000) y = np.sin(x) z = np.cos(x**2)plt.figure(figsize=(8,4)) plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2) plt.plot(x,z,"b--",label="$cos(x^2)$") plt.xlabel("Time(s)") plt.ylabel("Volt") plt.title("PyPlot First Example") plt.ylim(-1.2,1.2) plt.legend() plt.show()

圖5.1?調(diào)用pyplot庫(kù)快速將數(shù)據(jù)繪制成曲線圖

matplotlib中的快速繪圖的函數(shù)庫(kù)可以通過如下語(yǔ)句載入:

import matplotlib.pyplot as plt

pylab模塊

matplotlib還提供了名為pylab的模塊,其中包括了許多numpy和pyplot中常用的函數(shù),方便用戶快速進(jìn)行計(jì)算和繪圖,可以用于IPython中的快速交互式使用。

接下來(lái)調(diào)用figure創(chuàng)建一個(gè)繪圖對(duì)象,并且使它成為當(dāng)前的繪圖對(duì)象。

plt.figure(figsize=(8,4))

也可以不創(chuàng)建繪圖對(duì)象直接調(diào)用接下來(lái)的plot函數(shù)直接繪圖,matplotlib會(huì)為我們自動(dòng)創(chuàng)建一個(gè)繪圖對(duì)象。如果需要同時(shí)繪制多幅圖表的話,可以是給figure傳遞一個(gè)整數(shù)參數(shù)指定圖標(biāo)的序號(hào),如果所指定序號(hào)的繪圖對(duì)象已經(jīng)存在的話,將不創(chuàng)建新的對(duì)象,而只是讓它成為當(dāng)前繪圖對(duì)象。

通過figsize參數(shù)可以指定繪圖對(duì)象的寬度和高度,單位為英寸;dpi參數(shù)指定繪圖對(duì)象的分辨率,即每英寸多少個(gè)像素,缺省值為80。因此本例中所創(chuàng)建的圖表窗口的寬度為8*80 = 640像素。

但是用工具欄中的保存按鈕保存下來(lái)的png圖像的大小是800*400像素。這是因?yàn)楸4鎴D表用的函數(shù)savefig使用不同的DPI配置,savefig函數(shù)也有一個(gè)dpi參數(shù),如果不設(shè)置的話,將使用matplotlib配置文件中的配置,此配置可以通過如下語(yǔ)句進(jìn)行查看,關(guān)于配置文件將在后面的章節(jié)進(jìn)行介紹:

>>> import matplotlib >>> matplotlib.rcParams["savefig.dpi"] 100

下面的兩行程序通過調(diào)用plot函數(shù)在當(dāng)前的繪圖對(duì)象中進(jìn)行繪圖:

plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2) plt.plot(x,z,"b--",label="$cos(x^2)$")

plot函數(shù)的調(diào)用方式很靈活,第一句將x,y數(shù)組傳遞給plot之后,用關(guān)鍵字參數(shù)指定各種屬性:

  • label?: 給所繪制的曲線一個(gè)名字,此名字在圖示(legend)中顯示。只要在字符串前后添加"$"符號(hào),matplotlib就會(huì)使用其內(nèi)嵌的latex引擎繪制的數(shù)學(xué)公式。
  • color?: 指定曲線的顏色
  • linewidth?: 指定曲線的寬度

第二句直接通過第三個(gè)參數(shù)"b--"指定曲線的顏色和線型,這個(gè)參數(shù)稱為格式化參數(shù),它能夠通過一些易記的符號(hào)快速指定曲線的樣式。其中b表示藍(lán)色,"--"表示線型為虛線。在IPython中輸入 "plt.plot?" 可以查看格式化字符串的詳細(xì)配置。

接下來(lái)通過一系列函數(shù)設(shè)置繪圖對(duì)象的各個(gè)屬性:

plt.xlabel("Time(s)") plt.ylabel("Volt") plt.title("PyPlot First Example") plt.ylim(-1.2,1.2) plt.legend()
  • xlabel?: 設(shè)置X軸的文字
  • ylabel?: 設(shè)置Y軸的文字
  • title?: 設(shè)置圖表的標(biāo)題
  • ylim?: 設(shè)置Y軸的范圍
  • legend?: 顯示圖示

最后調(diào)用plt.show()顯示出我們創(chuàng)建的所有繪圖對(duì)象。

5.1.1 配置屬性

matplotlib所繪制的圖的每個(gè)組成部分都對(duì)應(yīng)有一個(gè)對(duì)象,我們可以通過調(diào)用這些對(duì)象的屬性設(shè)置方法set_*或者pyplot的屬性設(shè)置函數(shù)setp設(shè)置其屬性值。例如plot函數(shù)返回一個(gè) matplotlib.lines.Line2D 對(duì)象的列表,下面的例子顯示如何設(shè)置Line2D對(duì)象的屬性:

>>> import numpy as np >>> import matplotlib.pyplot as plt >>> x = np.arange(0, 5, 0.1) >>> line, = plt.plot(x, x*x) # plot返回一個(gè)列表,通過line,獲取其第一個(gè)元素 >>> # 調(diào)用Line2D對(duì)象的set_*方法設(shè)置屬性值 >>> line.set_antialiased(False) >>> # 同時(shí)繪制sin和cos兩條曲線,lines是一個(gè)有兩個(gè)Line2D對(duì)象的列表 >>> lines = plt.plot(x, np.sin(x), x, np.cos(x)) # >>> # 調(diào)用setp函數(shù)同時(shí)配置多個(gè)Line2D對(duì)象的多個(gè)屬性值 >>> plt.setp(lines, color="r", linewidth=2.0)

這段例子中,通過調(diào)用Line2D對(duì)象line的set_antialiased方法,關(guān)閉對(duì)象的反鋸齒效果。或者通過調(diào)用plt.setp函數(shù)配置多個(gè)Line2D對(duì)象的顏色和線寬屬性。

同樣我們可以通過調(diào)用Line2D對(duì)象的get_*方法,或者plt.getp函數(shù)獲取對(duì)象的屬性值:

>>> line.get_linewidth() 1.0 >>> plt.getp(lines[0], "color") # 返回color屬性 'r' >>> plt.getp(lines[1]) # 輸出全部屬性 alpha = 1.0 animated = False antialiased or aa = True axes = Axes(0.125,0.1;0.775x0.8) ... ...

注意getp函數(shù)只能對(duì)一個(gè)對(duì)象進(jìn)行操作,它有兩種用法:

  • 指定屬性名:返回對(duì)象的指定屬性的值
  • 不指定屬性名:打印出對(duì)象的所有屬性和其值

matplotlib的整個(gè)圖表為一個(gè)Figure對(duì)象,此對(duì)象在調(diào)用plt.figure函數(shù)時(shí)返回,我們也可以通過plt.gcf函數(shù)獲取當(dāng)前的繪圖對(duì)象:

>>> f = plt.gcf() >>> plt.getp(f) alpha = 1.0 animated = False ...

Figure對(duì)象有一個(gè)axes屬性,其值為AxesSubplot對(duì)象的列表,每個(gè)AxesSubplot對(duì)象代表圖表中的一個(gè)子圖,前面所繪制的圖表只包含一個(gè)子圖,當(dāng)前子圖也可以通過plt.gca獲得:

>>> plt.getp(f, "axes") [<matplotlib.axes.AxesSubplot object at 0x05CDD170>] >>> plt.gca() <matplotlib.axes.AxesSubplot object at 0x05CDD170>

用plt.getp可以發(fā)現(xiàn)AxesSubplot對(duì)象有很多屬性,例如它的lines屬性為此子圖所包括的 Line2D 對(duì)象列表:

>>> alllines = plt.getp(plt.gca(), "lines") >>> alllines <a list of 3 Line2D objects> >>> alllines[0] == line # 其中的第一條曲線就是最開始繪制的那條曲線 True

通過這種方法我們可以很容易地查看對(duì)象的屬性和它們之間的包含關(guān)系,找到需要配置的屬性。

5.2 繪制多軸圖

一個(gè)繪圖對(duì)象(figure)可以包含多個(gè)軸(axis),在Matplotlib中用軸表示一個(gè)繪圖區(qū)域,可以將其理解為子圖。上面的第一個(gè)例子中,繪圖對(duì)象只包括一個(gè)軸,因此只顯示了一個(gè)軸(子圖)。我們可以使用subplot函數(shù)快速繪制有多個(gè)軸的圖表。subplot函數(shù)的調(diào)用形式如下:

subplot(numRows, numCols, plotNum)

subplot將整個(gè)繪圖區(qū)域等分為numRows行 * numCols列個(gè)子區(qū)域,然后按照從左到右,從上到下的順序?qū)γ總€(gè)子區(qū)域進(jìn)行編號(hào),左上的子區(qū)域的編號(hào)為1。如果numRows,numCols和plotNum這三個(gè)數(shù)都小于10的話,可以把它們縮寫為一個(gè)整數(shù),例如subplot(323)和subplot(3,2,3)是相同的。subplot在plotNum指定的區(qū)域中創(chuàng)建一個(gè)軸對(duì)象。如果新創(chuàng)建的軸和之前創(chuàng)建的軸重疊的話,之前的軸將被刪除。

下面的程序創(chuàng)建3行2列共6個(gè)軸,通過axisbg參數(shù)給每個(gè)軸設(shè)置不同的背景顏色。

for idx, color in enumerate("rgbyck"):plt.subplot(320+idx+1, axisbg=color) plt.show()

圖5.2?用subplot函數(shù)將Figure分為六個(gè)子圖區(qū)域

如果希望某個(gè)軸占據(jù)整個(gè)行或者列的話,可以如下調(diào)用subplot:

plt.subplot(221) # 第一行的左圖 plt.subplot(222) # 第一行的右圖 plt.subplot(212) # 第二整行 plt.show()

圖5.3?將Figure分為三個(gè)子圖區(qū)域

當(dāng)繪圖對(duì)象中有多個(gè)軸的時(shí)候,可以通過工具欄中的Configure Subplots按鈕,交互式地調(diào)節(jié)軸之間的間距和軸與邊框之間的距離。如果希望在程序中調(diào)節(jié)的話,可以調(diào)用subplots_adjust函數(shù),它有l(wèi)eft, right, bottom, top, wspace, hspace等幾個(gè)關(guān)鍵字參數(shù),這些參數(shù)的值都是0到1之間的小數(shù),它們是以繪圖區(qū)域的寬高為1進(jìn)行正規(guī)化之后的坐標(biāo)或者長(zhǎng)度。

5.3 配置文件

一幅圖有許多需要配置的屬性,例如顏色、字體、線型等等。我們?cè)诶L圖時(shí),并沒有一一對(duì)這些屬性進(jìn)行配置,許多都直接采用了Matplotlib的缺省配置。Matplotlib將缺省配置保存在一個(gè)文件中,通過更改這個(gè)文件,我們可以修改這些屬性的缺省值。

Matplotlib 使用配置文件 matplotlibrc 時(shí)的搜索順序如下:

  • 當(dāng)前路徑?: 程序的當(dāng)前路徑
  • 用戶配置路徑?: 通常為 HOME/.matplotlib/,可以通過環(huán)境變量MATPLOTLIBRC修改
  • 系統(tǒng)配置路徑?: 保存在 matplotlib的安裝目錄下的 mpl-data 下

通過下面的語(yǔ)句可以獲取用戶配置路徑:

>>> import matplotlib >>> matplotlib.get_configdir() 'C:\\Documents and Settings\\zhang\\.matplotlib'

通過下面的語(yǔ)句可以獲得目前使用的配置文件的路徑:

>>> import matplotlib >>> matplotlib.matplotlib_fname() 'C:\\Python26\\lib\\site-packages\\matplotlib\\mpl-data\\matplotlibrc'

由于在當(dāng)前路徑和用戶配置路徑中都沒有找到位置文件,因此最后使用的是系統(tǒng)配置路徑下的配置文件。如果你將matplotlibrc復(fù)制一份到腳本的當(dāng)前目錄下:

>>> import os >>> os.getcwd() 'C:\\zhang\\doc'

復(fù)制配置文件之后再運(yùn)行:

>>> matplotlib.matplotlib_fname() 'C:\\zhang\\doc\\matplotlibrc'

如果你用文本編輯器打開此配置文件的話,你會(huì)發(fā)現(xiàn)它實(shí)際上是定義了一個(gè)字典。為了對(duì)眾多的配置進(jìn)行區(qū)分,關(guān)鍵字可以用點(diǎn)分開。

配置文件的讀入可以使用 rc_params 函數(shù),它返回一個(gè)配置字典:

>>> matplotlib.rc_params() {'agg.path.chunksize': 0, 'axes.axisbelow': False, 'axes.edgecolor': 'k', 'axes.facecolor': 'w', ... ...

在matplotlib模塊載入的時(shí)候會(huì)調(diào)用rc_params,并把得到的配置字典保存到rcParams變量中:

>>> matplotlib.rcParams {'agg.path.chunksize': 0, 'axes.axisbelow': False, ... ...

matplotlib將使用rcParams中的配置進(jìn)行繪圖。用戶可以直接修改此字典中的配置,所做的改變會(huì)反映到此后所繪制的圖中。例如下面的腳本所繪制的線將帶有圓形的點(diǎn)標(biāo)識(shí)符:

>>> matplotlib.rcParams["lines.marker"] = "o" >>> import pylab >>> pylab.plot([1,2,3]) >>> pylab.show()

為了方便配置,可以使用rc函數(shù),下面的例子同時(shí)配置點(diǎn)標(biāo)識(shí)符、線寬和顏色:

>>> matplotlib.rc("lines", marker="x", linewidth=2, color="red")

如果希望恢復(fù)到缺省的配置(matplotlib載入時(shí)從配置文件讀入的配置)的話,可以調(diào)用 rcdefaults 函數(shù)。

>>> matplotlib.rcdefaults()

如果手工修改了配置文件,希望重新從配置文件載入最新的配置的話,可以調(diào)用:

>>> matplotlib.rcParams.update( matplotlib.rc_params() )

5.4 Artist對(duì)象

matplotlib API包含有三層:

  • backend_bases.FigureCanvas?: 圖表的繪制領(lǐng)域
  • backend_bases.Renderer?: 知道如何在FigureCanvas上如何繪圖
  • artist.Artist?: 知道如何使用Renderer在FigureCanvas上繪圖

FigureCanvas和Renderer需要處理底層的繪圖操作,例如使用wxPython在界面上繪圖,或者使用PostScript繪制PDF。Artist則處理所有的高層結(jié)構(gòu),例如處理圖表、文字和曲線等的繪制和布局。通常我們只和Artist打交道,而不需要關(guān)心底層的繪制細(xì)節(jié)。

Artists分為簡(jiǎn)單類型和容器類型兩種。簡(jiǎn)單類型的Artists為標(biāo)準(zhǔn)的繪圖元件,例如Line2D、 Rectangle、 Text、AxesImage 等等。而容器類型則可以包含許多簡(jiǎn)單類型的Artists,使它們組織成一個(gè)整體,例如Axis、 Axes、Figure等。

直接使用Artists創(chuàng)建圖表的標(biāo)準(zhǔn)流程如下:

  • 創(chuàng)建Figure對(duì)象
  • 用Figure對(duì)象創(chuàng)建一個(gè)或者多個(gè)Axes或者Subplot對(duì)象
  • 調(diào)用Axies等對(duì)象的方法創(chuàng)建各種簡(jiǎn)單類型的Artists

下面首先調(diào)用pyplot.figure輔助函數(shù)創(chuàng)建Figure對(duì)象,然后調(diào)用Figure對(duì)象的add_axes方法在其中創(chuàng)建一個(gè)Axes對(duì)象,add_axes的參數(shù)是一個(gè)形如[left, bottom, width, height]的列表,這些數(shù)值分別指定所創(chuàng)建的Axes對(duì)象相對(duì)于fig的位置和大小,取值范圍都在0到1之間:

>>> import matplotlib.pyplot as plt >>> fig = plt.figure() >>> ax = fig.add_axes([0.15, 0.1, 0.7, 0.3])

然后我們調(diào)用ax的plot方法繪圖,創(chuàng)建一條曲線,并且返回此曲線對(duì)象(Line2D)。

>>> line, = ax.plot([1,2,3],[1,2,1]) >>> ax.lines [<matplotlib.lines.Line2D object at 0x0637A3D0>] >>> line <matplotlib.lines.Line2D object at 0x0637A3D0>

ax.lines是一個(gè)為包含ax的所有曲線的列表,后續(xù)的ax.plot調(diào)用會(huì)往此列表中添加新的曲線。如果想刪除某條曲線的話,直接從此列表中刪除即可。

Axes對(duì)象還包括許多其它的Artists對(duì)象,例如我們可以通過調(diào)用set_xlabel設(shè)置其X軸上的標(biāo)題:

>>> ax.set_xlabel("time")

如果我們查看set_xlabel的源代碼的話,會(huì)發(fā)現(xiàn)它是通過調(diào)用下面的語(yǔ)句實(shí)現(xiàn)的:

self.xaxis.set_label_text(xlabel)

如果我們一直跟蹤下去,會(huì)發(fā)現(xiàn)Axes的xaxis屬性是一個(gè)XAxis對(duì)象:

>>> ax.xaxis <matplotlib.axis.XAxis object at 0x06343230>

XAxis的label屬性是一個(gè)Text對(duì)象:

>>> ax.xaxis.label <matplotlib.text.Text object at 0x06343290>

而Text對(duì)象的_text屬性為我們?cè)O(shè)置的值:

>>> ax.xaxis.label._text 'time'

這些對(duì)象都是Artists,因此也可以調(diào)用它們的屬性獲取函數(shù)來(lái)獲得相應(yīng)的屬性:

>>> ax.xaxis.label.get_text() 'time'

5.4.1 Artist的屬性

圖表中的每個(gè)元素都用一個(gè)matplotlib的Artist對(duì)象表示,而每個(gè)Artist對(duì)象都有一大堆屬性控制其顯示效果。例如Figure對(duì)象和Axes對(duì)象都有patch屬性作為其背景,它的值是一個(gè)Rectangle對(duì)象。通過設(shè)置此它的一些屬性可以修改Figrue圖表的背景顏色或者透明度等屬性,下面的例子將圖表的背景顏色設(shè)置為綠色:

>>> fig = plt.figure() >>> fig.show() >>> fig.patch.set_color("g") >>> fig.canvas.draw()

patch的color屬性通過set_color函數(shù)進(jìn)行設(shè)置,屬性修改之后并不會(huì)立即反映到圖表的顯示上,還需要調(diào)用fig.canvas.draw()函數(shù)才能夠更新顯示。

下面是Artist對(duì)象都具有的一些屬性:

  • alpha : 透明度,值在0到1之間,0為完全透明,1為完全不透明
  • animated : 布爾值,在繪制動(dòng)畫效果時(shí)使用
  • axes : 此Artist對(duì)象所在的Axes對(duì)象,可能為None
  • clip_box : 對(duì)象的裁剪框
  • clip_on : 是否裁剪
  • clip_path : 裁剪的路徑
  • contains : 判斷指定點(diǎn)是否在對(duì)象上的函數(shù)
  • figure : 所在的Figure對(duì)象,可能為None
  • label : 文本標(biāo)簽
  • picker : 控制Artist對(duì)象選取
  • transform : 控制偏移旋轉(zhuǎn)
  • visible : 是否可見
  • zorder : 控制繪圖順序

Artist對(duì)象的所有屬性都通過相應(yīng)的 get_* 和 set_* 函數(shù)進(jìn)行讀寫,例如下面的語(yǔ)句將alpha屬性設(shè)置為當(dāng)前值的一半:

>>> fig.set_alpha(0.5*fig.get_alpha())

如果你想用一條語(yǔ)句設(shè)置多個(gè)屬性的話,可以使用set函數(shù):

>>> fig.set(alpha=0.5, zorder=2)

使用前面介紹的 matplotlib.pyplot.getp 函數(shù)可以方便地輸出Artist對(duì)象的所有屬性名和值。

>>> plt.getp(fig.patch) aa = True alpha = 1.0 animated = False antialiased or aa = True ... ...

5.4.2 Figure容器

現(xiàn)在我們知道如何觀察和修改已知的某個(gè)Artist對(duì)象的屬性,接下來(lái)要解決如何找到指定的Artist對(duì)象。前面我們介紹過Artist對(duì)象有容器類型和簡(jiǎn)單類型兩種,這一節(jié)讓我們來(lái)詳細(xì)看看容器類型的內(nèi)容。

最大的Artist容器是matplotlib.figure.Figure,它包括組成圖表的所有元素。圖表的背景是一個(gè)Rectangle對(duì)象,用Figure.patch屬性表示。當(dāng)你通過調(diào)用add_subplot或者add_axes方法往圖表中添加軸(子圖時(shí)),這些子圖都將添加到Figure.axes屬性中,同時(shí)這兩個(gè)方法也返回添加進(jìn)axes屬性的對(duì)象,注意返回值的類型有所不同,實(shí)際上AxesSubplot是Axes的子類。

>>> fig = plt.figure() >>> ax1 = fig.add_subplot(211) >>> ax2 = fig.add_axes([0.1, 0.1, 0.7, 0.3]) >>> ax1 <matplotlib.axes.AxesSubplot object at 0x056BCA90> >>> ax2 <matplotlib.axes.Axes object at 0x056BC910> >>> fig.axes [<matplotlib.axes.AxesSubplot object at 0x056BCA90>, <matplotlib.axes.Axes object at 0x056BC910>]

為了支持pylab中的gca()等函數(shù),Figure對(duì)象內(nèi)部保存有當(dāng)前軸的信息,因此不建議直接對(duì)Figure.axes屬性進(jìn)行列表操作,而應(yīng)該使用add_subplot, add_axes, delaxes等方法進(jìn)行添加和刪除操作。但是使用for循環(huán)對(duì)axes中的每個(gè)元素進(jìn)行操作是沒有問題的,下面的語(yǔ)句打開所有子圖的柵格。

>>> for ax in fig.axes: ax.grid(True)

Figure對(duì)象可以擁有自己的文字、線條以及圖像等簡(jiǎn)單類型的Artist。缺省的坐標(biāo)系統(tǒng)為像素點(diǎn),但是可以通過設(shè)置Artist對(duì)象的transform屬性修改坐標(biāo)系的轉(zhuǎn)換方式。最常用的Figure對(duì)象的坐標(biāo)系是以左下角為坐標(biāo)原點(diǎn)(0,0),右上角為坐標(biāo)(1,1)。下面的程序創(chuàng)建并添加兩條直線到fig中:

>>> from matplotlib.lines import Line2D >>> fig = plt.figure() >>> line1 = Line2D([0,1],[0,1], transform=fig.transFigure, figure=fig, color="r") >>> line2 = Line2D([0,1],[1,0], transform=fig.transFigure, figure=fig, color="g") >>> fig.lines.extend([line1, line2]) >>> fig.show()

圖5.4?在Figure對(duì)象中手工繪制直線

注意為了讓所創(chuàng)建的Line2D對(duì)象使用fig的坐標(biāo),我們將fig.TransFigure賦給Line2D對(duì)象的transform屬性;為了讓Line2D對(duì)象知道它是在fig對(duì)象中,我們還設(shè)置其figure屬性為fig;最后還需要將創(chuàng)建的兩個(gè)Line2D對(duì)象添加到fig.lines屬性中去。

Figure對(duì)象有如下屬性包含其它的Artist對(duì)象:

  • axes : Axes對(duì)象列表
  • patch : 作為背景的Rectangle對(duì)象
  • images : FigureImage對(duì)象列表,用來(lái)顯示圖片
  • legends : Legend對(duì)象列表
  • lines : Line2D對(duì)象列表
  • patches : patch對(duì)象列表
  • texts : Text對(duì)象列表,用來(lái)顯示文字

5.4.3 Axes容器

Axes容器是整個(gè)matplotlib庫(kù)的核心,它包含了組成圖表的眾多Artist對(duì)象,并且有許多方法函數(shù)幫助我們創(chuàng)建、修改這些對(duì)象。和Figure一樣,它有一個(gè)patch屬性作為背景,當(dāng)它是笛卡爾坐標(biāo)時(shí),patch屬性是一個(gè)Rectangle對(duì)象,而當(dāng)它是極坐標(biāo)時(shí),patch屬性則是Circle對(duì)象。例如下面的語(yǔ)句設(shè)置Axes對(duì)象的背景顏色為綠色:

>>> fig = plt.figure() >>> ax = fig.add_subplot(111) >>> ax.patch.set_facecolor("green")

當(dāng)你調(diào)用Axes的繪圖方法(例如plot),它將創(chuàng)建一組Line2D對(duì)象,并將所有的關(guān)鍵字參數(shù)傳遞給這些Line2D對(duì)象,并將它們添加進(jìn)Axes.lines屬性中,最后返回所創(chuàng)建的Line2D對(duì)象列表:

>>> x, y = np.random.rand(2, 100) >>> line, = ax.plot(x, y, "-", color="blue", linewidth=2) >>> line <matplotlib.lines.Line2D object at 0x03007030> >>> ax.lines [<matplotlib.lines.Line2D object at 0x03007030>]

注意plot返回的是一個(gè)Line2D對(duì)象的列表,因?yàn)槲覀兛梢詡鬟f多組X,Y軸的數(shù)據(jù),一次繪制多條曲線。

與plot方法類似,繪制直方圖的方法bar和繪制柱狀統(tǒng)計(jì)圖的方法hist將創(chuàng)建一個(gè)Patch對(duì)象的列表,每個(gè)元素實(shí)際上都是Patch的子類Rectangle,并且將所創(chuàng)建的Patch對(duì)象都添加進(jìn)Axes.patches屬性中:

>>> ax = fig.add_subplot(111) >>> n, bins, rects = ax.hist(np.random.randn(1000), 50, facecolor="blue") >>> rects <a list of 50 Patch objects> >>> rects[0] <matplotlib.patches.Rectangle object at 0x05BC2350> >>> ax.patches[0] <matplotlib.patches.Rectangle object at 0x05BC2350>

一般我們不會(huì)直接對(duì)Axes.lines或者Axes.patches屬性進(jìn)行操作,而是調(diào)用add_line或者add_patch等方法,這些方法幫助我們完成許多屬性設(shè)置工作:

>>> fig = plt.figure() >>> ax = fig.add_subplot(111) >>> rect = matplotlib.patches.Rectangle((1,1), width=5, height=12) >>> print rect.get_axes() # rect的axes屬性為空 None >>> rect.get_transform() # rect的transform屬性為缺省值 BboxTransformTo(Bbox(array([[ 1., 1.], [ 6., 13.]]))) >>> ax.add_patch(rect) # 將rect添加進(jìn)ax <matplotlib.patches.Rectangle object at 0x05C34E50> >>> rect.get_axes() # 于是rect的axes屬性就是ax <matplotlib.axes.AxesSubplot object at 0x05C09CB0> >>> # rect的transform屬性和ax的transData相同 >>> rect.get_transform() ... # 太長(zhǎng),省略 >>> ax.transData ... # 太長(zhǎng),省略 >>> ax.get_xlim() # ax的X軸范圍為0到1,無(wú)法顯示完整的rect (0.0, 1.0) >>> ax.dataLim._get_bounds() # 數(shù)據(jù)的范圍和rect的大小一致 (1.0, 1.0, 5.0, 12.0) >>> ax.autoscale_view() # 自動(dòng)調(diào)整坐標(biāo)軸范圍 >>> ax.get_xlim() # 于是X軸可以完整顯示rect (1.0, 6.0) >>> plt.show()

通過上面的例子我們可以看出,add_patch方法幫助我們?cè)O(shè)置了rect的axes和transform屬性。

下面詳細(xì)列出Axes包含各種Artist對(duì)象的屬性:

  • artists : Artist對(duì)象列表
  • patch : 作為Axes背景的Patch對(duì)象,可以是Rectangle或者Circle
  • collections : Collection對(duì)象列表
  • images : AxesImage對(duì)象列表
  • legends : Legend對(duì)象列表
  • lines : Line2D對(duì)象列表
  • patches : Patch對(duì)象列表
  • texts : Text對(duì)象列表
  • xaxis : XAxis對(duì)象
  • yaxis : YAxis對(duì)象

下面列出Axes的創(chuàng)建Artist對(duì)象的方法:

Axes的方法所創(chuàng)建的對(duì)象添加進(jìn)的列表
annotateAnnotatetexts
barsRectanglepatches
errorbarLine2D, Rectanglelines,patches
fillPolygonpatches
histRectanglepatches
imshowAxesImageimages
legendLegendlegends
plotLine2Dlines
scatterPolygonCollectionCollections
textTexttexts

下面以繪制散列圖(scatter)為例,驗(yàn)證一下:

>>> fig = plt.figure() >>> ax = fig.add_subplot(111) >>> t = ax.scatter(np.random.rand(20), np.random.rand(20)) >>> t # 返回值為CircleCollection對(duì)象 <matplotlib.collections.CircleCollection object at 0x06004230> >>> ax.collections # 返回的對(duì)象已經(jīng)添加進(jìn)了collections列表中 [<matplotlib.collections.CircleCollection object at 0x06004230>] >>> fig.show() >>> t.get_sizes() # 獲得Collection的點(diǎn)數(shù) 20

圖5.5?用scatter函數(shù)繪制散列圖

5.4.4 Axis容器

Axis容器包括坐標(biāo)軸上的刻度線、刻度文本、坐標(biāo)網(wǎng)格以及坐標(biāo)軸標(biāo)題等內(nèi)容。刻度包括主刻度和副刻度,分別通過Axis.get_major_ticks和Axis.get_minor_ticks方法獲得。每個(gè)刻度線都是一個(gè)XTick或者YTick對(duì)象,它包括實(shí)際的刻度線和刻度文本。為了方便訪問刻度線和文本,Axis對(duì)象提供了get_ticklabels和get_ticklines方法分別直接獲得刻度線和刻度文本:

>>> pl.plot([1,2,3],[4,5,6]) [<matplotlib.lines.Line2D object at 0x0AD3B670>] >>> pl.show() >>> axis = pl.gca().xaxis >>> axis.get_ticklocs() # 獲得刻度的位置列表 array([ 1. , 1.5, 2. , 2.5, 3. ]) >>> axis.get_ticklabels() # 獲得刻度標(biāo)簽列表 <a list of 5 Text major ticklabel objects> >>> [x.get_text() for x in axis.get_ticklabels()] # 獲得刻度的文本字符串 [u'1.0', u'1.5', u'2.0', u'2.5', u'3.0'] >>> axis.get_ticklines() # 獲得主刻度線列表,圖的上下刻度線共10條 <a list of 10 Line2D ticklines objects> >>> axis.get_ticklines(minor=True) # 獲得副刻度線列表 <a list of 0 Line2D ticklines objects>

獲得刻度線或者刻度標(biāo)簽之后,可以設(shè)置其各種屬性,下面設(shè)置刻度線為綠色粗線,文本為紅色并且旋轉(zhuǎn)45度:

>>> for label in axis.get_ticklabels(): ... label.set_color("red") ... label.set_rotation(45) ... label.set_fontsize(16) ... >>> for line in axis.get_ticklines(): ... line.set_color("green") ... line.set_markersize(25) ... line.set_markeredgewidth(3)

最終的結(jié)果圖如下:

圖5.6?手工配置X軸的刻度線和刻度文本的樣式

上面的例子中,獲得的副刻度線列表為空,這是因?yàn)橛糜谟?jì)算副刻度的對(duì)象缺省為NullLocator,它不產(chǎn)生任何刻度線;而計(jì)算主刻度的對(duì)象為AutoLocator,它會(huì)根據(jù)當(dāng)前的縮放等配置自動(dòng)計(jì)算刻度的位置:

>>> axis.get_minor_locator() # 計(jì)算副刻度的對(duì)象 <matplotlib.ticker.NullLocator instance at 0x0A014300> >>> axis.get_major_locator() # 計(jì)算主刻度的對(duì)象 <matplotlib.ticker.AutoLocator instance at 0x09281B20>

我們可以使用程序?yàn)锳xis對(duì)象設(shè)置不同的Locator對(duì)象,用來(lái)手工設(shè)置刻度的位置;設(shè)置Formatter對(duì)象用來(lái)控制刻度文本的顯示。下面的程序設(shè)置X軸的主刻度為pi/4,副刻度為pi/20,并且主刻度上的文本以pi為單位:

# -*- coding: utf-8 -*- import matplotlib.pyplot as pl from matplotlib.ticker import MultipleLocator, FuncFormatter import numpy as np x = np.arange(0, 4*np.pi, 0.01) y = np.sin(x) pl.figure(figsize=(8,4)) pl.plot(x, y) ax = pl.gca()def pi_formatter(x, pos):""" 比較羅嗦地將數(shù)值轉(zhuǎn)換為以pi/4為單位的刻度文本 """m = np.round(x / (np.pi/4))n = 4if m%2==0: m, n = m/2, n/2if m%2==0: m, n = m/2, n/2if m == 0:return "0"if m == 1 and n == 1:return "$\pi$"if n == 1:return r"$%d \pi$" % mif m == 1:return r"$\frac{\pi}{%d}$" % nreturn r"$\frac{%d \pi}{%d}$" % (m,n)# 設(shè)置兩個(gè)坐標(biāo)軸的范圍 pl.ylim(-1.5,1.5) pl.xlim(0, np.max(x))# 設(shè)置圖的底邊距 pl.subplots_adjust(bottom = 0.15)pl.grid() #開啟網(wǎng)格# 主刻度為pi/4 ax.xaxis.set_major_locator( MultipleLocator(np.pi/4) )# 主刻度文本用pi_formatter函數(shù)計(jì)算 ax.xaxis.set_major_formatter( FuncFormatter( pi_formatter ) )# 副刻度為pi/20 ax.xaxis.set_minor_locator( MultipleLocator(np.pi/20) )# 設(shè)置刻度文本的大小 for tick in ax.xaxis.get_major_ticks():tick.label1.set_fontsize(16) pl.show()

關(guān)于刻度的定位和文本格式的東西都在matplotlib.ticker中定義,程序中使用到如下兩個(gè)類:

  • MultipleLocator?: 以指定值的整數(shù)倍為刻度放置刻度線
  • FuncFormatter?: 使用指定的函數(shù)計(jì)算刻度文本,他會(huì)傳遞給所指定的函數(shù)兩個(gè)參數(shù):刻度值和刻度序號(hào),程序中通過比較笨的辦法計(jì)算出刻度值所對(duì)應(yīng)的刻度文本

此外還有很多預(yù)定義的Locator和Formatter類,詳細(xì)內(nèi)容請(qǐng)參考相應(yīng)的API文檔。

圖5.7?手工配置X軸的刻度線的位置和文本,并開啟副刻度

總結(jié)

以上是生活随笔為你收集整理的matplotlib 快速绘图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

成人av免费播放 | 在线免费精品视频 | 五月天亚洲婷婷 | 中文字幕在线影视资源 | 欧美一级片免费观看 | 奇米影视999| 热久久这里只有精品 | 999久久a精品合区久久久 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 欧美一区二区三区不卡 | av免费高清观看 | 91在线看视频免费 | 亚洲精品大片www | 国产999久久久 | 久久激情小视频 | avhd高清在线谜片 | 亚洲无人区小视频 | 黄色精品一区 | 精品乱码一区二区三四区 | www.av中文字幕.com | 奇米影视8888在线观看大全免费 | 天堂av在线免费观看 | 久久视频这里有久久精品视频11 | 韩日av一区二区 | 91亚洲在线 | 丁香花在线观看视频在线 | 久久国产精品免费 | 色综合婷婷 | 国产成人一区二区三区在线观看 | 97国产大学生情侣白嫩酒店 | 在线网址你懂得 | 99精品视频在线播放免费 | 久久99精品久久久久久秒播蜜臀 | 久久99精品久久久久久久久久久久 | 在线观看视频免费大全 | 国产午夜在线观看视频 | 97av免费视频 | 久久久午夜精品福利内容 | 综合国产视频 | 91免费高清观看 | 中文在线字幕免费观看 | 日韩91在线 | 亚洲国产中文字幕 | 色资源网在线观看 | 久久视频这里有精品 | 久久国产精品久久精品国产演员表 | 99热在线精品观看 | 99视频| 天天干天天综合 | 久草热久草视频 | www五月天| 99视频在线看 | 天天操天天操天天操天天操天天操 | 青春草视频在线播放 | 亚洲一区久久久 | 成人福利在线播放 | www.夜色321.com| 97精品在线观看 | 精品国内自产拍在线观看视频 | 深爱激情开心 | 日韩国产欧美在线视频 | 在线91色 | 国产亚洲日本 | 日韩簧片在线观看 | 在线99热 | 奇米影视777影音先锋 | 日韩av视屏在线观看 | 免费在线观看av | 成人小视频在线 | 午夜性盈盈 | 欧美精品一区二区性色 | 日韩欧美视频一区二区 | 夜夜操狠狠操 | 亚洲男男gaygay无套同网址 | 色香蕉网 | 娇妻呻吟一区二区三区 | 久久婷婷色 | 色婷婷狠狠五月综合天色拍 | 欧美在线视频免费 | 欧美日韩a视频 | 久久久久久久久久亚洲精品 | 成年人电影免费在线观看 | 亚洲欧美精品在线 | 国产精品mm | 少妇激情久久 | 日韩精品久久久久久 | 久久综合射 | 99精品在线免费 | 美女视频黄色免费 | 在线精品一区二区 | 精品免费观看视频 | 欧美成人一二区 | 久久国内精品视频 | 国产精品麻豆视频 | 国产视频精选 | 在线视频一区观看 | 四虎4hu永久免费 | 日韩中文字幕a | 免费在线激情电影 | 日韩一级成人av | 久久久久久久99精品免费观看 | 日韩,中文字幕 | 色丁香婷婷 | 国产精品99久久久久久人免费 | 久久精品黄 | 天天操夜夜拍 | 国产精品中文字幕在线播放 | 夜夜操天天 | 国产精品一区二区吃奶在线观看 | 日本69hd | 在线国产不卡 | 久久久久 | 91在线视频在线观看 | 国产传媒中文字幕 | 欧美va天堂va视频va在线 | 亚洲激情在线观看 | 五月天九九 | 久草在线免费资源站 | 精品视频久久 | 日韩久久午夜一级啪啪 | 国产色综合天天综合网 | 亚洲一区免费在线 | 久久精品8 | 久久国产精品99精国产 | 精品久久久久久久久久久久久久久久 | 日韩在线电影一区二区 | 亚洲视频1区2区 | 久久毛片高清国产 | 国产高清视频免费在线观看 | 国产资源精品在线观看 | 香蕉视频导航 | 国产精品99久久久久久武松影视 | 伊人色综合久久天天 | 1区2区视频 | 色婷久久 | 色网址99 | 四虎永久免费在线观看 | 91视频这里只有精品 | 亚洲免费av一区二区 | 精品国产美女 | 香蕉视频国产在线观看 | 色婷婷久久久综合中文字幕 | 香蕉日日 | 国产精彩在线视频 | 亚欧日韩成人h片 | 天天干天天干天天操 | 欧美污网站 | 久草网首页 | 亚洲激精日韩激精欧美精品 | 午夜91视频| 国产 视频 高清 免费 | 99 色| 亚洲精品久久在线 | 亚洲一区欧美精品 | 国产精品中文久久久久久久 | 色九色| www蜜桃视频 | 成人资源在线观看 | 国产成人一区二区三区影院在线 | 成人免费在线观看电影 | 四虎8848免费高清在线观看 | 日本久久精品视频 | 成人av直播 | 国产精品视频app | 国语黄色片 | 久久综合亚洲鲁鲁五月久久 | 又黄又网站| 亚洲国产欧美一区二区三区丁香婷 | 四虎影视成人永久免费观看视频 | 激情丁香婷婷 | 国产精品高潮呻吟久久av无 | 成人h视频在线 | 日韩在线视频观看免费 | 国内成人综合 | 亚洲香蕉视频 | 久久天天躁狠狠躁亚洲综合公司 | 岛国av在线 | 国产91免费看 | 日本精品视频一区 | 999久久国产精品免费观看网站 | 成人久久精品 | 久久国产精品精品国产色婷婷 | 亚洲国产精品一区二区尤物区 | 综合色中色 | 尤物97国产精品久久精品国产 | 激情视频在线观看网址 | 中文网丁香综合网 | 在线观看黄色的网站 | 国产一区欧美日韩 | 国产视频在线看 | 国产美女视频免费 | a在线视频v视频 | 天堂av在线免费观看 | 久久午夜精品 | 日韩精品视频在线观看网址 | 成人免费在线视频观看 | 成人在线免费观看网站 | 久精品视频在线观看 | 国产手机精品视频 | 欧美一级电影在线观看 | 国产色网| 国产一二三在线视频 | 久久99操 | 久久这里有精品 | 久久久久久电影 | 99c视频高清免费观看 | 色姑娘综合网 | 天堂中文在线视频 | 久久人人97超碰com | 国产视频精品在线 | 久久久精品99 | 成年人黄色av | 国产精美视频 | 成年人免费av | 久久久久久久久久影视 | 人人讲 | www.xxx.性狂虐 | 欧美久久久久久久久 | 久久午夜精品影院一区 | 在线视频电影 | 国产视频在线观看一区 | 国产三级香港三韩国三级 | 天天躁日日躁狠狠躁av中文 | 免费久久久久久久 | 亚洲欧洲精品一区二区精品久久久 | 精品久久久久久亚洲综合网站 | 国产一区二区精品久久91 | 国产成人在线看 | 激情五月av | 久久久69 | 国产中文字幕在线看 | 黄色免费电影网站 | 久久久久蜜桃 | 欧美国产大片 | 国产小视频网站 | 久久精品国产精品 | 四虎影视久久久 | 国产精品久久久久久五月尺 | 国产亚洲激情视频在线 | 欧美成人xxx| 日韩色视频在线观看 | 欧美日本一区 | 中文字幕频道 | 97人人澡人人爽人人模亚洲 | 在线免费成人 | 久久一精品 | 色噜噜日韩精品欧美一区二区 | 国产成人一区二区三区在线观看 | 亚洲综合欧美激情 | 午夜美女wwww | 日本三级久久 | 婷婷色九月| 嫩草av影院| 国产精品女主播一区二区三区 | 天天操综合网 | 黄色特级片 | 在线国产能看的 | 在线观看爱爱视频 | 91麻豆精品国产91久久久更新时间 | 国产片免费在线观看视频 | www.色爱 | 日韩有码在线观看视频 | 91在线免费看片 | 久久国产经典视频 | 国产成人精品午夜在线播放 | 伊人久久影视 | 国产成人免费在线 | 91色吧| 亚洲 在线 | 亚洲自拍偷拍色图 | 国产91精品高清一区二区三区 | 欧美在线一 | 久久精品在线视频 | 中文国产字幕在线观看 | 亚洲精品国产精品国自产观看浪潮 | 久久99国产精品久久99 | 99亚洲精品在线 | 亚洲一区二区精品3399 | 久久线视频 | 91精品在线免费观看 | 国产精品成久久久久三级 | 婷婷激情五月 | 婷婷久久婷婷 | 在线免费观看亚洲视频 | 一本一本久久a久久精品综合 | 欧美日韩中文视频 | 999久久久久久久久久久 | 国产男女无遮挡猛进猛出在线观看 | 999久久a精品合区久久久 | 国产麻豆果冻传媒在线观看 | 韩国在线视频一区 | 国产福利精品视频 | 中文字幕在线观看免费观看 | 婷婷色av| 中文字幕一区三区 | 日日碰狠狠添天天爽超碰97久久 | 国产a级片免费观看 | 久久久午夜精品福利内容 | 国产一区二区在线免费视频 | 欧美一区二区三区在线观看 | 亚洲一区视频在线播放 | 国产视频一区二区三区在线 | 亚洲激情网站免费观看 | 91精品爽啪蜜夜国产在线播放 | 免费在线一区二区 | 亚洲爱视频 | 久久国产福利 | 国产视频69| 免费a视频 | 成人黄色免费在线观看 | 国产精品国产三级国产不产一地 | 欧美在线一级片 | 免费观看www小视频的软件 | 国产精品在线看 | 夜夜操网| 国产理论片在线观看 | 五月天综合色 | 国产婷婷在线观看 | 日本中文字幕视频 | 成人av电影免费在线观看 | 国产精品99久久久久久久久久久久 | 在线黄色免费 | 精品亚洲va在线va天堂资源站 | 99视频导航| 中文在线 | av成年人电影 | 日韩成人在线一区二区 | 久草精品免费 | 亚洲人久久久 | 国产免费观看久久黄 | 男女啪啪免费网站 | 在线观看一区二区视频 | 美女免费视频一区二区 | 国产99久久久国产精品 | 久久高清国产视频 | 999视频在线播放 | 国产精品第72页 | 日韩理论在线播放 | 丝袜美腿在线 | 日韩经典一区二区三区 | 综合激情网... | 亚洲欧洲日韩在线观看 | 久99视频 | 香蕉视频最新网址 | 色www精品视频在线观看 | 99久久超碰中文字幕伊人 | 黄色三级在线观看 | 国产午夜免费视频 | 日韩精品在线看 | 一区免费视频 | 久草在线费播放视频 | 久草在线视频资源 | 一级一片免费看 | 夜色在线资源 | 欧美黑吊大战白妞欧美 | 婷婷视频在线播放 | 国产成人一区三区 | 国产精品毛片久久蜜 | 欧美 日韩 国产 成人 在线 | 日韩在线观 | 伊人色综合网 | 九九九九色 | 成人免费xxx在线观看 | 国产高清在线观看av | 亚洲最新av在线网址 | 国产v视频 | 欧美孕妇视频 | 一区二区三区电影 | 99r在线| 精品理论片 | 欧美日本不卡高清 | 久久久久高清 | 91最新在线视频 | 国产日产精品一区二区三区四区的观看方式 | www.com黄 | 色婷婷av国产精品 | 亚洲国产三级在线 | 岛国大片免费视频 | 日本在线观看中文字幕 | 国产免费观看高清完整版 | 亚洲精品综合在线 | 亚洲欧美在线视频免费 | 欧美日韩在线观看视频 | 欧美一级xxxx | 97超级碰 | 93久久精品日日躁夜夜躁欧美 | av线上看| 日韩av不卡播放 | 亚洲视频中文 | 久草久草久草久草 | 免费一级片在线观看 | 日本久久高清视频 | 人人玩人人弄 | 黄色av播放| 91在线日韩| 国产精品久久久久久久久久99 | 日韩免费大片 | 日本女人在线观看 | 色小说在线| 超碰在线官网 | 在线播放国产一区二区三区 | av观看久久久 | 一区二区三区国产精品 | 天天干天天操天天爱 | 96精品高清视频在线观看软件特色 | 黄网站www | av中文字幕免费在线观看 | 在线观看自拍 | 日韩电影一区二区三区在线观看 | 欧美性视频网站 | 天天天色综合a | 黄色毛片视频免费观看中文 | 五月婷婷.com | 一区二区三区免费看 | 欧美一级专区免费大片 | 日韩国产精品毛片 | 精品亚洲免a | 色综合久久久网 | 在线观看色网站 | 日本大片免费观看在线 | 日韩午夜视频在线观看 | 99视频精品免费视频 | 狠狠色丁香久久综合网 | 久久一级电影 | 国产成人在线一区 | 黄网站免费大全入口 | 久久综合免费视频 | 国产无限资源在线观看 | av片子在线观看 | 91在线区 | 久久免费精品视频 | 特及黄色片 | 国产色综合天天综合网 | 一级做a视频 | 成人手机在线视频 | 九九热在线观看视频 | 91一区二区三区在线观看 | 国产精品久久久久久久免费观看 | 亚洲第一中文网 | 国产一性一爱一乱一交 | 欧美黑人巨大xxxxx | 韩国中文三级 | 五月婷婷综 | 亚洲年轻女教师毛茸茸 | 狠狠干狠狠艹 | 麻豆成人网 | 久久久久久国产精品免费 | 99久久超碰中文字幕伊人 | 亚洲精品福利视频 | 中文字幕色在线 | 亚洲精品久久久久久中文传媒 | 国产乱码精品一区二区三区介绍 | 日韩欧美一区二区三区视频 | 夜夜澡人模人人添人人看 | 96国产在线 | 天天天天色综合 | 国产三级精品在线 | 日韩精品久久中文字幕 | 激情久久一区二区三区 | 久久久久观看 | 精品国产一二区 | 日韩精品免费一区二区三区 | 国产精品久久久久久久久久久久久久 | 丝袜少妇在线 | 久草精品电影 | 91综合在线| 久久99最新地址 | 九色免费视频 | 中文字幕.av.在线 | 一色屋精品视频在线观看 | 九九综合久久 | 日韩美女av在线 | 久久久免费精品 | 国产亚洲成人网 | 精品亚洲视频在线观看 | 久久麻豆精品 | 日韩高清dvd| 在线精品一区二区 | 久草网站在线观看 | 中文字幕丝袜 | 超碰在线公开 | 国产99久久九九精品免费 | 天天干天天看 | 国产精品久久中文字幕 | 日韩精品电影在线播放 | 久草免费在线视频观看 | 天天曰天天干 | 91丨九色丨91啦蝌蚪老版 | 久久国产精品99久久久久久丝袜 | 国产精品第一页在线 | 四虎成人免费影院 | 国产在线精品区 | 成人一区在线观看 | 丁香综合av | 激情 一区二区 | 久久综合欧美 | 国产免费人成xvideos视频 | 国产日韩欧美视频在线观看 | 少妇bbw搡bbbb搡bbbb | 五月婷婷黄色 | 九九激情视频 | 国产精品久久久久毛片大屁完整版 | 久久免费看视频 | 国产aa精品 | 久久综合免费视频 | 国产精品毛片完整版 | 欧美激情视频在线观看免费 | 精品一区二区三区电影 | 精品视频123区在线观看 | 欧美在线一二 | 色香网| 免费观看一级视频 | 91人人澡人人爽 | 久久午夜网 | 欧美福利网站 | 国产无区一区二区三麻豆 | 日韩成人邪恶影片 | 国产黄色片免费观看 | 免费高清在线观看电视网站 | 日韩精品大片 | av在线小说| 日韩av在线一区二区 | 成人av资源网站 | 免费网址在线播放 | 亚洲精品美女久久久 | 丁香激情综合久久伊人久久 | 热久久电影 | 园产精品久久久久久久7电影 | 久久久久9999亚洲精品 | 欧美日韩精品电影 | 在线免费观看的av | 999成人网 | 草久在线播放 | 国产精品久99| 成年人视频在线免费观看 | 麻豆视频国产在线观看 | 亚洲欧洲日韩在线观看 | 国产男女免费完整视频 | 日日操日日插 | 国产精品一区一区三区 | 精品99在线| 综合精品久久久 | 黄色在线观看免费网站 | 亚洲美女久久 | 亚洲国产黄色片 | 免费成人在线电影 | 婷婷色综合色 | 日韩资源视频 | 丁香婷婷激情啪啪 | 99久久国产免费,99久久国产免费大片 | 在线观看中文字幕一区二区 | 国内精品久久久 | 国产一级黄色av | 日韩欧美视频一区 | 欧美日韩三级在线观看 | 在线观看国产www | 麻豆91在线看 | 免费视频久久 | 亚洲高清在线 | 国产精品一区在线观看 | 国产精品av在线免费观看 | 国产免费影院 | 右手影院亚洲欧美 | 色是在线视频 | av最新资源| 国产不卡免费 | 精品你懂的 | 亚洲成人资源网 | 91精品国产一区二区在线观看 | 青青河边草免费观看 | 欧美在线1 | 黄色免费视频在线观看 | 久久综合狠狠综合久久激情 | 91精品国产高清 | 久草电影在线观看 | 久久精品老司机 | 国产精品 中文字幕 亚洲 欧美 | 日韩理论在线观看 | 精品免费久久久久久 | 久久九九久久九九 | 国产午夜激情视频 | 久久精品高清 | 国产视频中文字幕在线观看 | 激情图片区 | 在线亚州 | 亚洲一区二区三区miaa149 | 欧美另类交人妖 | 看av在线| 日韩午夜电影院 | 在线观看日韩一区 | 国产高清视频在线播放 | 亚洲成a人片综合在线 | 天天爽夜夜爽精品视频婷婷 | 丰满少妇久久久 | av一级片网站 | 亚洲视频高清 | 尤物97国产精品久久精品国产 | 99久久er热在这里只有精品15 | 成人免费一级 | 国产成人免费观看久久久 | 日韩电影在线一区 | 天天操夜夜想 | 亚洲蜜桃在线 | 国产高清区 | 国产成人av片 | 久久国产午夜精品理论片最新版本 | 日本特黄一级片 | 手机看片国产 | 日产av在线播放 | 免费十分钟| 在线看成人av | 五月色综合 | 中文资源在线播放 | 精品国产视频在线观看 | 精品国产一二三 | 超碰97在线看 | 99视频精品全国免费 | 8x成人在线| 天天干夜夜爽 | 韩国在线一区二区 | 九九视频免费在线观看 | 婷婷丁香av | www.com在线观看 | 日本精品中文字幕在线观看 | 国产精品综合在线 | 天天做日日爱夜夜爽 | 在线视频99 | 96香蕉视频 | 免费av网站在线 | 国产精品乱码一区二三区 | 国产精品久久久久久久久岛 | 欧美久久影院 | 久久精品www人人爽人人 | 国产一级二级在线播放 | 国产精品成人一区二区三区吃奶 | 亚洲片在线 | 黄色毛片一级片 | 一区在线观看 | 人人干97 | 2018亚洲男人天堂 | 91在线免费公开视频 | 91人人澡人人爽人人精品 | 黄色a在线观看 | 四虎永久精品在线 | 国产精品免费在线播放 | 九九爱免费视频在线观看 | 91精品欧美| 操操操人人人 | 91你懂的| 亚洲闷骚少妇在线观看网站 | 国产视频在线观看一区 | 亚洲精品一区二区三区四区高清 | 精品在线播放 | 黄色软件在线观看 | 色a网| 毛片网站观看 | 久久蜜桃av | 国产成人777777 | 在线激情av电影 | 午夜婷婷网 | 久久美女视频 | 91av大全| 国产成a人亚洲精v品在线观看 | 婷婷丁香在线视频 | 日韩欧美精品一区 | 99精品在线视频观看 | 黄色小网站在线观看 | 曰韩精品 | 日韩欧美一区二区三区黑寡妇 | 亚洲乱亚洲乱亚洲 | 欧美黑人xxxx猛性大交 | 一本一本久久a久久精品综合小说 | 91在线免费播放 | 五月婷婷国产 | 一区二区三区四区不卡 | 中文字幕一区二区三区久久蜜桃 | 天天射天天射天天 | 久久免费视频6 | 91伊人影院 | 奇米网在线观看 | 亚洲午夜大片 | 亚洲视频久久久 | 日韩av手机在线观看 | 在线观看av黄色 | 免费在线观看av不卡 | 狠狠狠色丁香婷婷综合久久五月 | 69国产精品视频免费观看 | 狠狠狠狠狠狠狠干 | 韩国av一区 | 精品在线99 | www.色的| 高潮毛片无遮挡高清免费 | 国产精品女人久久久久久 | 操操色 | 一区二区三区国 | 992tv又爽又黄的免费视频 | 亚洲第一香蕉视频 | 91欧美精品 | 亚洲黄色影院 | 91私密视频| 国产1级毛片 | 毛片精品免费在线观看 | 国产精品久久久久永久免费观看 | 黄色大片入口 | 久久精品99国产精品亚洲最刺激 | 在线观看视频你懂得 | 久久黄色免费视频 | 久久精品国产99国产 | 日本大尺码专区mv | 青青河边草观看完整版高清 | 99色免费 | www五月天婷婷 | 天天色天天操综合网 | 久草在线视频国产 | 精品一区二区三区四区在线 | 91精品在线麻豆 | 亚洲国产精品一区二区尤物区 | 激情大尺度视频 | 干狠狠| 免费在线成人av | 四虎影视精品成人 | 91看片麻豆 | 日韩视频免费观看高清完整版在线 | 五月天色综合 | 亚洲精品在线播放视频 | 激情五月播播久久久精品 | 麻豆视频免费在线播放 | av动图| 黄色成人av网址 | 日本aa在线 | 精品欧美一区二区精品久久 | 久久久久久久久久久久久久av | 成 人 黄 色 视频播放1 | 日本韩国欧美在线观看 | 日韩小视频 | 美女福利视频网 | 日韩免费在线观看视频 | 欧美一区免费观看 | 国产精品美女免费看 | 丁香一区二区 | 午夜av在线电影 | 久久视频在线观看中文字幕 | 国产不卡一区二区视频 | 国产99免费视频 | av先锋中文字幕 | 亚洲欧美国产精品久久久久 | 午夜资源站 | 精品国产91亚洲一区二区三区www | 久久精品一 | 97视频资源 | 亚洲成人资源在线观看 | 久久久久久久久久久高潮一区二区 | 久久亚洲精品国产亚洲老地址 | 亚洲国产精品va在线看黑人动漫 | 成人av中文字幕在线观看 | 在线免费观看国产精品 | 久久国产免费 | 国产日韩精品一区二区在线观看播放 | 私人av| 91在线观看高清 | 99久久精品免费看国产一区二区三区 | 婷婷在线色 | 国产综合精品一区二区三区 | 91亚洲精品乱码久久久久久蜜桃 | 一区二区三区在线看 | 国产91亚洲 | 欧美一级免费在线 | 国产高清精品在线 | 国产原创在线观看 | 亚洲欧美经典 | 国产成人精品区 | aaa黄色毛片 | 国产成a人亚洲精v品在线观看 | 亚洲国产精品传媒在线观看 | 狠狠操夜夜操 | 丝袜美腿av| 色综合久久久久久久久五月 | 国产群p | 中文字幕亚洲情99在线 | 日韩欧美一区二区三区在线 | 一区二区三区四区在线免费观看 | 天海冀一区二区三区 | 9999国产| 国产99久久久久久免费看 | 91成人小视频 | 色射色| 亚洲色视频 | 日韩电影在线一区二区 | 欧美日韩视频在线观看一区二区 | 91香蕉嫩草 | 国产精品久久久毛片 | 久久久在线视频 | 国产精品成人aaaaa网站 | 91黄色免费看 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 国产69精品久久99不卡的观看体验 | 成人久久18免费网站麻豆 | 国产精品一区二区在线观看免费 | 日韩三级精品 | 日韩欧美一区视频 | 国产精品少妇 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 最新色站| 国产一级在线免费观看 | 黄色app网站在线观看 | 玖玖色在线观看 | 国内视频1区| 91亚洲精品乱码久久久久久蜜桃 | 五月天久久 | 久久久精品久久日韩一区综合 | av网站在线免费观看 | 亚洲尺码电影av久久 | 日日爽日日操 | 婷婷在线免费视频 | 久久久99精品免费观看app | 欧美性色网站 | 成人国产一区二区 | 日本中文字幕在线电影 | 91成年人网站 | 久草在线欧美 | 日韩在线观看视频一区二区三区 | 天天爱天天舔 | 婷婷久久久 | 成人综合免费 | 在线观看成人福利 | 懂色av懂色av粉嫩av分享吧 | 欧美一级高清片 | av天天在线观看 | 高清一区二区 | 欧美极品裸体 | 中文字幕av电影下载 | 免费观看丰满少妇做爰 | 丁香婷婷激情网 | www.香蕉| 在线观看视频99 | 日本黄色免费网站 | 欧洲成人免费 | 久久免费国产电影 | 日韩三级在线 | 欧美精品久久人人躁人人爽 | 波多野结衣在线视频免费观看 | 精品爱爱 | 国产精品久久久久永久免费 | 欧美国产三区 | 亚洲精品在 | 亚洲精品国产自产拍在线观看 | 国产无遮挡又黄又爽在线观看 | 亚洲成 人精品 | 亚洲理论在线观看电影 | 国产一二三四在线观看视频 | 不卡的av片 | 久久精品网站免费观看 | 人人草天天草 | 久久精品8 | 五月婷婷开心中文字幕 | 日韩精品一区二区三区在线视频 | 激情久久一区二区三区 | 在线激情小视频 | 色婷婷播放 | 久久精品伊人 | 中文字幕国语官网在线视频 | 伊人色**天天综合婷婷 | 日韩精品五月天 | 国产精品专区h在线观看 | 麻豆传媒在线免费看 | 国产一级免费观看 | 伊人影院在线观看 | 一级久久精品 | 精品嫩模福利一区二区蜜臀 | 欧美大码xxxx | 国产亚洲精品成人 | 超碰精品在线 | 国产又粗又猛又爽又黄的视频免费 | av成人在线电影 | 777xxx欧美 | 国产精品午夜在线观看 | av在线网站观看 | 国产成人a v电影 | 精品成人免费 | 国产又粗又猛又色 | 处女av在线 | 91在线看片 | 亚洲最大成人免费网站 | 色视频网站在线观看一=区 a视频免费在线观看 | 国产亚洲综合性久久久影院 | 久久久久久久电影 | 99热这里只有精品1 av中文字幕日韩 | www色综合 | 在线国产日本 | 在线视频观看你懂的 | 欧美精品一区二区三区一线天视频 | 懂色av一区二区在线播放 | 国产在线观看污片 | 国产精品手机在线播放 | 在线观看成年人 | 成年人在线免费视频观看 | 91精品麻豆 | 91免费看黄 | 国产中年夫妇高潮精品视频 | 欧美一级视频一区 | 欧美日韩国产高清视频 | 高清一区二区 | 精品在线观看一区二区三区 | 欧美日韩调教 | 99久久99久久精品免费 | 欧美日韩在线视频免费 | 波多野结衣在线观看视频 | 狠狠久久伊人 | 狠狠操欧美 | 黄色一级在线免费观看 | 婷婷激情5月天 | 狠狠网| 国产尤物视频在线 | 中文字幕黄色网 | 亚洲一级国产 | 久久久色| 91黄色免费看 | 99久久精品视频免费 | 久久精品精品 | 欧美粗又大 | 日本女人的性生活视频 | 福利视频入口 | 国产成人免费在线观看 | 精品久久福利 | 国产精品久久久久永久免费观看 | 亚洲成人中文在线 | 看片的网址 | 久草在线播放视频 | 狠狠干天天射 | 香蕉视频久久久 | 亚洲在线免费视频 | 国产中出在线观看 | 亚洲精品国产第一综合99久久 | 国产精品久久久久aaaa | 免费观看一级一片 | 99九九视频| 黄色成人av网址 | 国产日产精品一区二区三区四区的观看方式 | 欧美一区二区三区在线看 | 97超碰人人网 | 黄色av免费在线 | 99视频精品视频高清免费 | 国产1区在线观看 | 在线免费视 | 亚洲 欧美日韩 国产 中文 | 91在线看视频 | 亚洲精品视频一二三 | 国产剧情在线一区 | 国产成人精品一区二区三区在线观看 | 中文字幕日韩有码 | 精品久久久久久久久久 | 人人射人人爽 | 中文字幕久久精品亚洲乱码 | 超碰在线成人 | 亚洲视频专区在线 | 日日干日日 | 超碰九九 | 亚洲精品在线播放视频 | 欧美日韩在线播放 | www.色午夜.com | 毛片一区二区 | 国产精品久久久久久久免费 | 国产日韩欧美在线播放 | 久精品在线 | 国产视频九色蝌蚪 | 国产精品久久久久久久午夜 | 正在播放一区二区 | 国产婷婷久久 | 精品国产视频在线观看 | 久久情侣偷拍 | 国产精品99久久久久久武松影视 | 亚洲视频一区二区三区在线观看 | 99精品视频在线观看 | 国产又黄又爽又猛视频日本 | 中文字幕在线观看完整版 | 久久久久久蜜桃一区二区 | 国产精品女 | 国产精品观看在线亚洲人成网 | 手机av观看| 人人爽人人澡人人添人人人人 | 国产精品美女在线观看 | 欧美少妇的秘密 | 成人一区二区三区中文字幕 | 奇米影视999 | 亚洲国产精品va在线看 | 美女黄频 | 激情五月看片 | 精品欧美日韩 | 中文字幕亚洲情99在线 | av中文电影 | 国产91影院 | 九九有精品 | 成人在线免费av | 国产成人精品亚洲日本在线观看 | 日韩女同一区二区三区在线观看 | 中国黄色一级大片 | 国产精品麻豆三级一区视频 | 九9热这里真品2 |