内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

包含axes函數(shù)python的詞條

求教python一個作圖的問題

matplotlib 是python最著名的繪圖庫,它提供了一整套和matlab相似的命令A(yù)PI,十分適合交互式地行制圖。而且也可以方便地將它作為繪圖控件,嵌入GUI應(yīng)用程序中。

10年的蓬安網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整蓬安建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“蓬安網(wǎng)站設(shè)計”,“蓬安網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。

它的文檔相當(dāng)完備,并且Gallery頁面中有上百幅縮略圖,打開之后都有源程序。因此如果你需要繪制某種類型的圖,只需要在這個頁面中瀏覽/復(fù)制/粘貼一下,基本上都能搞定。

在Linux下比較著名的數(shù)據(jù)圖工具還有g(shù)nuplot,這個是免費的,Python有一個包可以調(diào)用gnuplot,但是語法比較不習(xí)慣,而且畫圖質(zhì)量不高。

而?Matplotlib則比較強:Matlab的語法、python語言、latex的畫圖質(zhì)量(還可以使用內(nèi)嵌的latex引擎繪制的數(shù)學(xué)公式)。

本文目錄

1.?Matplotlib.pyplot快速繪圖

2.?面向?qū)ο螽媹D

3.?Matplotlib.pylab快速繪圖

4.?在圖表中顯示中文

5.?對LaTeX數(shù)學(xué)公式的支持

6.?對數(shù)坐標(biāo)軸

7.?學(xué)習(xí)資源

Matplotlib.pyplot快速繪圖

快速繪圖和面向?qū)ο蠓绞嚼L圖

matplotlib實際上是一套面向?qū)ο蟮睦L圖庫,它所繪制的圖表中的每個繪圖元素,例如線條Line2D、文字Text、刻度等在內(nèi)存中都有一個對象與之對應(yīng)。

為了方便快速繪圖matplotlib通過pyplot模塊提供了一套和MATLAB類似的繪圖API,將眾多繪圖對象所構(gòu)成的復(fù)雜結(jié)構(gòu)隱藏在這套API內(nèi)部。我們只需要調(diào)用pyplot模塊所提供的函數(shù)就可以實現(xiàn)快速繪圖以及設(shè)置圖表的各種細節(jié)。pyplot模塊雖然用法簡單,但不適合在較大的應(yīng)用程序中使用。

為了將面向?qū)ο蟮睦L圖庫包裝成只使用函數(shù)的調(diào)用接口,pyplot模塊的內(nèi)部保存了當(dāng)前圖表以及當(dāng)前子圖等信息。當(dāng)前的圖表和子圖可以使用plt.gcf()和plt.gca()獲得,分別表示"Get Current Figure"和"Get Current Axes"。在pyplot模塊中,許多函數(shù)都是對當(dāng)前的Figure或Axes對象進行處理,比如說:

plt.plot()實際上會通過plt.gca()獲得當(dāng)前的Axes對象ax,然后再調(diào)用ax.plot()方法實現(xiàn)真正的繪圖。

可以在Ipython中輸入類似"plt.plot??"的命令查看pyplot模塊的函數(shù)是如何對各種繪圖對象進行包裝的。

配置屬性

matplotlib所繪制的圖表的每個組成部分都和一個對象對應(yīng),我們可以通過調(diào)用這些對象的屬性設(shè)置方法set_*()或者pyplot模塊的屬性設(shè)置函數(shù)setp()設(shè)置它們的屬性值。

因為matplotlib實際上是一套面向?qū)ο蟮睦L圖庫,因此也可以直接獲取對象的屬性

配置文件

繪制一幅圖需要對許多對象的屬性進行配置,例如顏色、字體、線型等等。我們在繪圖時,并沒有逐一對這些屬性進行配置,許多都直接采用了matplotlib的缺省配置。

matplotlib將這些缺省配置保存在一個名為“matplotlibrc”的配置文件中,通過修改配置文件,我們可以修改圖表的缺省樣式。配置文件的讀入可以使用rc_params(),它返回一個配置字典;在matplotlib模塊載入時會調(diào)用rc_params(),并把得到的配置字典保存到rcParams變量中;matplotlib將使用rcParams字典中的配置進行繪圖;用戶可以直接修改此字典中的配置,所做的改變會反映到此后創(chuàng)建的繪圖元素。

繪制多子圖(快速繪圖)

Matplotlib 里的常用類的包含關(guān)系為?Figure - Axes - (Line2D, Text, etc.)一個Figure對象可以包含多個子圖(Axes),在matplotlib中用Axes對象表示一個繪圖區(qū)域,可以理解為子圖。

可以使用subplot()快速繪制包含多個子圖的圖表,它的調(diào)用形式如下:

subplot(numRows, numCols, plotNum)

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

subplot()返回它所創(chuàng)建的Axes對象,我們可以將它用變量保存起來,然后用sca()交替讓它們成為當(dāng)前Axes對象,并調(diào)用plot()在其中繪圖。

繪制多圖表(快速繪圖)

如果需要同時繪制多幅圖表,可以給figure()傳遞一個整數(shù)參數(shù)指定Figure對象的序號,如果序號所指定的Figure對象已經(jīng)存在,將不創(chuàng)建新的對象,而只是讓它成為當(dāng)前的Figure對象。

import numpy as np

import matplotlib.pyplot as plt

plt.figure(1) # 創(chuàng)建圖表1

plt.figure(2) # 創(chuàng)建圖表2

ax1 = plt.subplot(211) # 在圖表2中創(chuàng)建子圖1

ax2 = plt.subplot(212) # 在圖表2中創(chuàng)建子圖2

x = np.linspace(0, 3, 100)

for i in xrange(5):

plt.figure(1) ?#? # 選擇圖表1

plt.plot(x, np.exp(i*x/3))

plt.sca(ax1) ? #? # 選擇圖表2的子圖1

plt.plot(x, np.sin(i*x))

plt.sca(ax2) ?# 選擇圖表2的子圖2

plt.plot(x, np.cos(i*x))

plt.show()

在圖表中顯示中文

matplotlib的缺省配置文件中所使用的字體無法正確顯示中文。為了讓圖表能正確顯示中文,可以有幾種解決方案。

在程序中直接指定字體。

在程序開頭修改配置字典rcParams。

修改配置文件。

matplotlib輸出圖象的中文顯示問題

上面那個link里的修改matplotlibrc方式,我試了好幾次都沒成功。能work的一個比較簡便粗暴的方式(但不知道有沒有副作用)是,1.找到字體目錄YOURPYTHONHOME\Lib\site-packages\matplotlib\mpl-data\fonts\ttf下的Vera.ttf。這里我們用中文楷體(可以從windows/system32/fonts拷貝過來,對于win8字體文件不是ttf的可以從網(wǎng)上下一個微軟雅黑),直接張貼到前面的ttf目錄下,然后更名為Vera.ttf。2.?中文字符串用unicode格式,例如:u''測試中文顯示'',代碼文件編碼使用utf-8 加上" #?coding = utf-8 ?"一行。

面向?qū)ο螽媹D

matplotlib API包含有三層,Artist層處理所有的高層結(jié)構(gòu),例如處理圖表、文字和曲線等的繪制和布局。通常我們只和Artist打交道,而不需要關(guān)心底層的繪制細節(jié)。

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

創(chuàng)建Figure對象

用Figure對象創(chuàng)建一個或者多個Axes或者Subplot對象

調(diào)用Axies等對象的方法創(chuàng)建各種簡單類型的Artists

import?matplotlib.pyplot as plt

X1 = range(0, 50)?Y1 = [num**2 for num in X1] # y = x^2?X2 = [0, 1]?Y2 = [0, 1] # y = x

Fig = plt.figure(figsize=(8,4)) # Create a `figure'?instance?Ax = Fig.add_subplot(111) # Create a `axes'?instance?in the figure?Ax.plot(X1, Y1, X2, Y2) # Create a Line2D?instance?in the axes

Fig.show()?Fig.savefig("test.pdf")

python用matplotlib繪圖時,曲線或散點怎么刪除?

在matplotlib中,每一個對象(圖標(biāo),軸等)都提供了各種方法來獲取其屬性或者之類對象。

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

fig = plt.figure()

ax = fig.add_subplot(1,1,1)

然后我們添加一條“Line”到這個“axes”中去

lines = ax.plot(np.arange(1000))

此時,你可以運行fig.show()查看到圖表對象中已經(jīng)多了一條線

當(dāng)然,你也可以吧lines對象的位置打印出來,我這里是:

[matplotlib.lines.Line2D object at 0x05D37BD0]

OK,可能這個時候你已經(jīng)知道如何做了,通過查詢API我們知道是有一個POP方法的,那么你可能會這么寫:

lines.pop(0)

然后你會再次運行程序,你會發(fā)現(xiàn)畫的先仍然存在,為什么呢?

好吧,其實這個地方你可以理解為是一個值傳遞,而非引用刪除,那么正確的方法是:

ax.lines.pop(0)

你同樣可以這樣,傳遞一個地址過去

ax.lines.remove(lines[0])

你大概可能通過這些方法進行刪除

lines.pop(0)

lines.remove()

del lines

回答完畢。

Python氣象數(shù)據(jù)處理與繪圖(18):泰勒圖

泰勒圖繪制的核心思想是設(shè)計一個只有第一象限的極坐標(biāo),并將方差,相關(guān)系數(shù)進行捆綁,通過轉(zhuǎn)化為極坐標(biāo)系坐標(biāo)進行繪制。為了實現(xiàn)泰勒圖的繪制,我設(shè)計了兩個函數(shù):

set_tayloraxes(fig, location=111) 和plot_taylor(axes, refsample, sample, args, *kwargs)

set_tayloraxes()函數(shù)用于建立一個泰勒圖的坐標(biāo)系,這個自定義函數(shù)一般情況下不建議修改,每一個參數(shù)都是經(jīng)過多次調(diào)試得到的,很可能牽一發(fā)動全身。因此,將繪圖部分的獨立成為了plot_taylor函數(shù)(),這部分函數(shù)較為簡單,目的就是將需要繪圖的數(shù)據(jù),轉(zhuǎn)換為極坐標(biāo)系坐標(biāo),通過plot函數(shù)將散點打在泰勒圖上,這個函數(shù)模塊較為簡單,可以根據(jù)自己的輸入數(shù)據(jù)情況進行調(diào)整。

下面介紹下函數(shù)的具體用法:

輸入:

fig: 需要繪圖的figure

rect:圖的位置,如111為1行1列第一個,122為1行2列第2個

輸出:

polar_ax:泰勒坐標(biāo)系

輸入:

axes : setup_axes返回的泰勒坐標(biāo)系

refsample :參照樣本

sample :評估樣本

args, *kwargs :plt.plot()函數(shù)的相關(guān)參數(shù),設(shè)置點的顏色,形狀等等。

下面給出示例:

python繪圖篇

1,xlable,ylable設(shè)置x,y軸的標(biāo)題文字。

2,title設(shè)置標(biāo)題。

3,xlim,ylim設(shè)置x,y軸顯示范圍。

plt.show()顯示繪圖窗口,通常情況下,show()會阻礙程序運行,帶-wthread等參數(shù)的環(huán)境下,窗口不會關(guān)閉。

plt.saveFig()保存圖像。

面向?qū)ο罄L圖

1,當(dāng)前圖表和子圖可以用gcf(),gca()獲得。

subplot()繪制包含多個圖表的子圖。

configure subplots,可調(diào)節(jié)子圖與圖表邊框距離。

可以通過修改配置文件更改對象屬性。

圖標(biāo)顯示中文

1,在程序中直接指定字體。

2, 在程序開始修改配置字典reParams.

3,修改配置文件。

Artist對象

1,圖標(biāo)的繪制領(lǐng)域。

2,如何在FigureCanvas對象上繪圖。

3,如何使用Renderer在FigureCanvas對象上繪圖。

FigureCanvas和Render處理底層圖像操作,Artist處理高層結(jié)構(gòu)。

分為簡單對象和容器對象,簡單的Aritist是標(biāo)準(zhǔn)的繪圖元件,例如Line 2D,Rectangle,Text,AxesImage等,而容器類型包含許多簡單的的 Aritist對象,使他們構(gòu)成一個整體,例如Axis,Axes,Figure等。

直接創(chuàng)建Artist對象進項繪圖操作步奏:

1,創(chuàng)建Figure對象(通過figure()函數(shù),會進行許多初始化操作,不建議直接創(chuàng)建。)

2,為Figure對象創(chuàng)建一個或多個Axes對象。

3,調(diào)用Axes對象的方法創(chuàng)建各類簡單的Artist對象。

Figure容器

如何找到指定的Artist對象。

1,可調(diào)用add_subplot()和add_axes()方法向圖表添加子圖。

2,可使用for循環(huán)添加?xùn)鸥瘛?/p>

3,可通過transform修改坐標(biāo)原點。

Axes容器

1,patch修改背景。

2,包含坐標(biāo)軸,坐標(biāo)網(wǎng)格,刻度標(biāo)簽,坐標(biāo)軸標(biāo)題等內(nèi)容。

3,get_ticklabels(),,get-ticklines獲得刻度標(biāo)簽和刻度線。

1,可對曲線進行插值。

2,fill_between()繪制交點。

3,坐標(biāo)變換。

4,繪制陰影。

5,添加注釋。

1,繪制直方圖的函數(shù)是

2,箱線圖(Boxplot)也稱箱須圖(Box-whisker Plot),是利用數(shù)據(jù)中的五個統(tǒng)計量:最小值、第一四分位

數(shù)、中位數(shù)、第三四分位數(shù)與最大值來描述數(shù)據(jù)的一種方法,它可以粗略地看出數(shù)據(jù)是否具有對稱性以及分

布的分散程度等信息,特別可以用于對幾個樣本的比較。

3,餅圖就是把一個圓盤按所需表達變量的觀察數(shù)劃分為若干份,每一份的角度(即面積)等價于每個觀察

值的大小。

4,散點圖

5,QQ圖

低層繪圖函數(shù)

類似于barplot(),dotchart()和plot()這樣的函數(shù)采用低層的繪圖函數(shù)來畫線和點,來表達它們在頁面上放置的位置以及其他各種特征。

在這一節(jié)中,我們會描述一些低層的繪圖函數(shù),用戶也可以調(diào)用這些函數(shù)用于繪圖。首先我們先講一下R怎么描述一個頁面;然后我們講怎么在頁面上添加點,線和文字;最后講一下怎么修改一些基本的圖形。

繪圖區(qū)域與邊界

R在繪圖時,將顯示區(qū)域劃分為幾個部分。繪制區(qū)域顯示了根據(jù)數(shù)據(jù)描繪出來的圖像,在此區(qū)域內(nèi)R根據(jù)數(shù)據(jù)選擇一個坐標(biāo)系,通過顯示出來的坐標(biāo)軸可以看到R使用的坐標(biāo)系。在繪制區(qū)域之外是邊沿區(qū),從底部開始按順時針方向分別用數(shù)字1到4表示。文字和標(biāo)簽通常顯示在邊沿區(qū)域內(nèi),按照從內(nèi)到外的行數(shù)先后顯示。

添加對象

在繪制的圖像上還可以繼續(xù)添加若干對象,下面是幾個有用的函數(shù),以及對其功能的說明。

?points(x, y, ...),添加點

?lines(x, y, ...),添加線段

?text(x, y, labels, ...),添加文字

?abline(a, b, ...),添加直線y=a+bx

?abline(h=y, ...),添加水平線

?abline(v=x, ...),添加垂直線

?polygon(x, y, ...),添加一個閉合的多邊形

?segments(x0, y0, x1, y1, ...),畫線段

?arrows(x0, y0, x1, y1, ...),畫箭頭

?symbols(x, y, ...),添加各種符號

?legend(x, y, legend, ...),添加圖列說明

python怎么表示指數(shù)?

其中有兩個非常漂亮的指數(shù)函數(shù)圖就是用python的matplotlib畫出來的。這一期,我們將要介紹如何利用python繪制出如下指數(shù)函數(shù)。

圖 1 a1圖 1 a1

我們知道當(dāng)0 ,指數(shù)函數(shù) 是單調(diào)遞減的,當(dāng)a1 時,指數(shù)函數(shù)是單調(diào)遞增的。所以我們首先要定義出指數(shù)函數(shù),將a值做不同初始化

import math

...

def exponential_func(x, a): #定義指數(shù)函數(shù)

y=math.pow(a, x)

return y

然后,利用numpy構(gòu)造出自變量,利用上面定義的指數(shù)函數(shù)來計算出因變量

X=np.linspace(-4, 4, 40) #構(gòu)造自變量組

Y=[exponential_func(x) for x in X] #求函數(shù)值

有了自變量和因變量的一些散點,那么就可以模擬我們平時畫函數(shù)操作——描點繪圖,利用下面代碼就可以實現(xiàn)

import math

import numpy as np

import matplotlib.pyplot as plt

import mpl_toolkits.axisartist as axisartist #導(dǎo)入坐標(biāo)軸加工模塊

plt.rcParams['font.sans-serif']=['SimHei']

plt.rcParams['axes.unicode_minus']=False

fig=plt.figure(figsize=(6,4)) #新建畫布

ax=axisartist.Subplot(fig,111) #使用axisartist.Subplot方法創(chuàng)建一個繪圖區(qū)對象ax

fig.add_axes(ax) #將繪圖區(qū)對象添加到畫布中

def exponential_func(x, a=2): #定義指數(shù)函數(shù)

y=math.pow(a, x)

return y

X=np.linspace(-4, 4, 40) #構(gòu)造自變量組

Y=[exponential_func(x) for x in X] #求函數(shù)值

ax.plot(X, Y) #繪制指數(shù)函數(shù)

plt.show()

圖 2 a=2

圖2雖簡單,但麻雀雖小五臟俱全,指數(shù)函數(shù)該有都有,接下來是如何讓其看起來像我們在作圖紙上面畫的那么美觀,這里重點介紹axisartist 坐標(biāo)軸加工類,在的時候我們已經(jīng)用過了,這里就不再多說了。我們只需要在上面代碼后面加上一些代碼來將坐標(biāo)軸好好打扮一番。

圖 3 a1 完整代碼# -*- coding: utf-8 -*-圖 3 a1 完整代碼# -*- coding: utf-8 -*-"""Created on Sun Feb 16 10:19:23 2020project name:@author: 帥帥de三叔"""import mathimport numpy as npimport matplotlib.pyplot as pltimport mp

用Python已知圓心判斷一個點是否在圓內(nèi)?

任意點到圓心的距離的平方為x^2 + y^2,只要在半徑內(nèi),那么這個點就在圓內(nèi),否則在圓外。使用pow函數(shù),判斷pow(x,2) + pow(y,2) =1即可。

假設(shè)圓方程是 中心為(0,0),半徑為1的圓的方程:X^2+Y^2=1如果點(m,n)在圓內(nèi),換到幾何上表示就是,點到圓心的距離要小于圓的半徑(這樣就是點在園內(nèi))。所以點(m,n)到圓心的距離:(m-0)^2+(n-0)^21^2,也就相當(dāng)于代入此圓方程時滿足m^2+n^21。

Python

是完全面向?qū)ο蟮恼Z言。函數(shù)、模塊、數(shù)字、字符串都是對象。并且完全支持繼承、重載、派生、多繼承,有益于增強源代碼的復(fù)用性。Python支持重載運算符和動態(tài)類型。相對于Lisp這種傳統(tǒng)的函數(shù)式編程語言,Python對函數(shù)式設(shè)計只提供了有限的支持。有兩個標(biāo)準(zhǔn)庫(functools, itertools)提供了Haskell和Standard ML中久經(jīng)考驗的函數(shù)式程序設(shè)計工具。

網(wǎng)頁題目:包含axes函數(shù)python的詞條
當(dāng)前網(wǎng)址:http://m.rwnh.cn/article48/doopcep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、靜態(tài)網(wǎng)站、搜索引擎優(yōu)化、網(wǎng)站導(dǎo)航、網(wǎng)站建設(shè)、用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
新田县| 瑞安市| 潮州市| 平舆县| 新乡县| 瓮安县| 明星| 阿荣旗| 竹北市| 辽阳县| 五大连池市| 固镇县| 咸丰县| 都安| 英超| 霍山县| 嵩明县| 都安| 晋宁县| 高要市| 梁平县| 安泽县| 曲水县| 手游| 阳城县| 大化| 泽州县| 宣化县| 饶平县| 上饶县| 卢湾区| 吐鲁番市| 晋宁县| 凤凰县| 台北市| 遂宁市| 读书| 治县。| 东阿县| 辽源市| 邛崃市|