Python直接使用plot()函數畫圖的方法實例_第1頁
Python直接使用plot()函數畫圖的方法實例_第2頁
Python直接使用plot()函數畫圖的方法實例_第3頁
Python直接使用plot()函數畫圖的方法實例_第4頁
Python直接使用plot()函數畫圖的方法實例_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第Python直接使用plot()函數畫圖的方法實例目錄一、plot()函數的認識二、plot()函數基本運用三、plot()函數數據可視化畫圖以及圖元基本參數設置總結

一、plot()函數的認識

在使用Python進行數據可視化編程中matplotlib庫是我們用來對數據進行畫圖常用的第三方庫。其中含有各類函數也就是不同類型的圖形,要使用matplotlib庫中的函數就需要了解函數所需要數據的格式,這也是我們學習matplotlib庫的重點。

直接使用plot()函數畫圖,是對于一般的簡單數據。我們可以采用直接調用plot()函數對列表數據進行直接畫圖。初期學習直接使用plot()函數能便于我們對后面圖形學習奠定函數的參數及基礎。

matplotlib圖的組成:

Figure(畫布)Axes(坐標系)Axis(坐標軸)圖形(plot(),scatter(),bar(),...)Title,Labels,......

直接是用plot()函數畫圖如法如下:

plt.plot(x,y,fmt='xxx',line>

其中x,y代表橫縱坐標,fmt=#color#linestyle#marker即代表各類參數。

(1)linestyle:此字段是線的樣式,參數形式:字符串

linestyle(線的樣式)

linestyle(線的樣式)linestyle參數線形-實線--虛線-.點劃線:點虛線無線

(2)linewidth:此參數是線的粗細,粗細程度和所定數值大小有關,參數形式:數值

(3)marker:點的樣式,字符串

marker(點的樣式)

marker(點的樣式)marker標記點.店,像素^v上下左右三角形1234上下左右三叉線o圓形sD方形p五邊形hH六邊形*五角星+x十字交叉_橫線

(4)markersize:點的大小,參數形式:數值

(5)color:調節線條還有點的顏色,字符串,參數形式字符串

color(點、線顏色)

color(點、線顏色)字符串colorr紅g綠b藍y黃c青m品k黑w白

此處顏色參數還可以有二進制,十進制等表示方法,同時對于顏色,RGB是三原色

(6)label:圖例,legend文字

二、plot()函數基本運用

使用plot()函數時需要導入對應的庫,導入庫后我們在未有數據的情況下直接畫圖,直接畫圖會隱式創建Figure,Axes對象。

importmatplotlib.pyplotaspltplt.plot()

下面通過構造數據繪制簡單圖形

首先數據構造,設置參數,參數也可以在將數據填入plot()函數的時候設置。

#導入包

importmatplotlib.pyplotasplt

importnumpyasnp

#構造數據

#位置(2維:x,y一一對應)

x=np.linspace(0,2*np.pi,200)#從0到2pi的200個值

y=np.sin(x)#從sin(0)到sin(2pi)的200個值

#顏色(0維)

c='red'

c='r'

c='#FF0000'

#大小(0維):線寬

lw=1

畫出圖形

#生成一個Figure畫布和一個Axes坐標系

fig,ax=plt.subplots()

#在生成的坐標系下畫折線圖

ax.plot(x,y,c,linewidth=lw)

#顯示圖形

plt.show()

圖形展示:

給定兩組數據,建立y與x的關系試,使用plot函數進行畫圖,本次畫圖線條選用點虛線形式,粗細選用1,點選用方形,點大小選用值為10,圖例為1234

importmatplotlib.pyplotasplt

x=[1,2,3]

y=[1,2,3]

y=x

plt.plot(x,y,line,linewidth=1,marker='d',markersize=10,label='1234')

plt.legend()

作出圖片如下;

下面我們引用numpy的linspace函數生創建均勻分布序列,然后對x,y建立數值關系,由此來創建圖畫。

importmatplotlib.pyplotasplt

importnumpyasnp

x=np.linspace(-100,100,10)

y=x**2+2*x+1

plt.plot(x,y,'g-.o')

作出如下圖案,由此可見,我們對于圖形的設置方面,在我們熟練以后如果沒有粗細的設置可以直接縮減再一個字符串里面

以上都是簡單圖形的講解,我們現在通過一個簡單的對數據DataFrame進行作圖,在往后的數據可視化中我們需要對數據進行處理后再進行可視化。下面我們通過正、余弦函數進行作圖。

#導入包

importmatplotlib.pyplotasplt

importnumpyasnp

importpandasaspd

#使用linspace()方法構成數據

x=np.linspace(0,2*np.pi,50)#

y1=np.sin(x)

y2=np.cos(x)

#轉化數據形式

df=pd.DataFrame([x,y1,y2]).T

#對列重新命名

df.columns=['x','sin(x)','cos(x)']

#數據寫入圖像,命名圖例

plt.plot(df['x'],df['sin(x)'],label='sin(x)')

plt.plot(df['x'],df['cos(x)'],label='cos(x)')

plt.legend()

我們通過numpy的linspace方法生成數據再通過pandas對數據進行DataFrame化再帶入plot()函數,此處需要講的就是圖例的命名方法,通過在函數中寫入label參數,確定圖例的標簽,再通過legend()函數生成圖例,在后續的學習中也會講到圖例的位置、形式等的運用。

三、plot()函數數據可視化畫圖以及圖元基本參數設置

通過繪制世界人口變化曲線圖了解基本圖元參數設置,本次繪圖過程主要是先通過對人口數據導入,了解數據構造,再進配置畫圖參數最后完成圖形的制作,其中基本的圖元參數用于別的圖形也適用,在這兒學會了我們只需要了解數據結構,構造成圖形所要的數據結構就可以就行畫出自己想要的圖形。

首先進行數據導入,了解數據結構形式。為了學習方便,選用jupyternotebook進行可視化圖形講解。

importpandasaspd

datafile=r'world_population.txt'#打開文件

df=pd.read_csv(datafile)#讀取數據

df.head()#展示前面部分數據

以下就是基本的數據樣式,由年份和人口數量組成

這里做了基本的圖元設計,也就是對于畫布的設置,前面我們所學函數參數都是對于圖形中間的設置,我們構成一個可視化界面是通過畫布+畫中圖形樣式組成一個完整的可視化界面。

畫布界面有畫布大小,畫布像素,畫布界面,畫布邊框等設置。

importmatplotlib.pyplotasplt

fig=plt.figure(figsize=(6,4),#inches

dpi=120,#dot-per-inch

facecolor='#BBBBBB',

frameon=True,#畫布邊框

plt.plot(df['year'],df['population'])

plt.title("1960-2009WorldPopulation")

構成一個完整的可視化圖像除了圖例還有圖像的標題,我們可以通過title()方法設置英文標題,中文標題要通過以下代碼才能實現,因此我們如果是做中文項目在導入包以后就可以寫上設置中文代碼的代碼串。

#設置中文字體

plt.rcParams['font.sans-serif']='SimHei'#設置字體為簡黑(SimHei)

plt.rcParams['font.sans-serif']='FangSong'#設置字體為仿宋(FangSong)

當然,除了這種比較簡單的圖形之外我們還能對圖形進行優化設置,將數據顯示的更加的精美和美觀,對圖形優化便于實際報告中的演示也是我們現在必不可少的的一環。

importmatplotlib.pyplotasplt

#設置中文字體

plt.rcParams['axes.unicode_minus']=False#不使用中文減號

plt.rcParams['font.sans-serif']='FangSong'#設置字體為仿宋(FangSong)

fig=plt.figure(figsize=(6,4),#inches

dpi=120,#dot-per-inch

facecolor='#BBBBBB',

frameon=True,#畫布邊框

plt.plot(df['year'],df['population'],'b:o',label='人口數')

#中文標題

plt.title("1960-2009世界人口")

#字體字典

font_dict=dict(fontsize=8,

color='k',

family='SimHei',

weight='light',

#X軸標簽

plt.xlabel("年份",loc='center',fontdict=font_dict)#loc:左中右leftcenterright

#Y軸標簽

plt.ylabel("人口數",loc='top',fontdict=font_dict)#loc:上中下topcenterbottom

#X軸范圍

plt.xlim((2000,2010))#X軸的起點和終點

#Y軸范圍

plt.ylim(6e9,7e9)#Y軸的起點和終點

#X軸刻度

plt

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論