matlplotlib繪圖(二)

matplotlib基礎知識dom

matpltlib中的基本圖表包括的元素函數

1.x軸和y軸:水平和垂直的軸線字體

2.x軸和y軸的刻度:刻度標識座標值的分隔,包括最小刻度和最大刻度spa

3.x軸和y軸刻度:表示特定座標軸的值code

4.繪圖區域:實際繪圖的區域orm

 

繪製單一曲線的圖對象

代碼以下blog

import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np圖片

x = np.linspace(0,2*np.pi,50) #,定義自變量的取值,並返回把範圍分紅50份unicode

y = np.sin(x)

plt.plot(x,y)

 

sin(x)cos(x)

繪製多條曲線的圖

x = np.linspace(0,2*np.pi,50) #定義自變量的取值,並返回把範圍分紅50份
y = np.sin(x)
y2 = np.cos(x)
plt.plot(x,y)                  #自變量相同
plt.plot(x,y2)                

 

繪製多條曲線也能夠在plot()函數中添加多對x,y值

 plt.plot(x,y,x,np.cos(x))

[<matplotlib.lines.Line2D at 0x104ac898>,<matplotlib.lines.Line2D at 0x104ac9e8>]看返回結果可知道,返回值實際上是一個列表

添加網格線
plt.grid()

plt.plot(x,y,x,np.cos(x))
plt.grid()
plt.savefig("./image/grid.jpg")

視圖中添加子視圖

fig=plt.figure(figsize=(12,3))              #設置子視圖的尺寸
axes = fig.add_subplot(1,2,1)           #根據面向對象的思想建立子視圖對象,指定子視圖在視圖中的位置,添加子視圖爲一行,兩列,第一個
axes.plot(x,y)                                    #畫出子視圖
axes.grid()
axes = fig.add_subplot(1,2,2)           #添加子視圖爲一行兩列,第二個
axes.plot(x,y)
axes.grid(color ="red",alpha =1.0,linestyle = "-.",linewidth = 0.5)                  #視圖中附帶網格線,並設置網格線的顏色,線的明暗程度,線寬。
plt.savefig("./image/fen.jpg")            #保存視圖

 

設置座標軸界限座標軸界限

axis():獲取或設置某些軸屬性的方便方法。

參數:

pro =['on','off','equal','scaled','tight','auto','normal','image','square']

添加方式:plt.axis(pro[2])            

 設置橫縱座標的範圍,是一個列表很縱座標相等

 

如:

x = np.linspace(0,2*np.pi,100)
plt.plot(x,np.sin(x))
plt.xlim([-1,7])
plt.ylim([-1,1])

座標軸標籤

xlable方法和ylable方法

如:plt.xlabel('X',fontsize=25,color='red')                                                 #fontsize設置標籤字體大小,color設置字體顏色

        plt.ylabel("f(x)=sin(x)",fontsize = 25,color="green",rotation=90)       #rotation設置標籤旋轉的角度

 

title()設置圖形標題

plt.title("正弦波sin",fontproperties="KaiTi",fontsize=25)                     #fontproperties設置字體樣式

 

設置全局字體

from matplotlib.pyplot import rcParams
rcParams["font.sans-serif"]="KaiTi"                   #對全局的字體進行設置

rcParams["axes.unicode_minus"]=False            #對符號進行設值,不設置顯示方框

 

圖例:兩種方法

1.【推薦使用】在plot函數中增長label參數,在legend方法中傳入字符串列表

如:plt.plot(x, x*3.0, label='Fast')

       plt.plot(x, x/3.0, label='Slow')

       plt.legend()

2.legend方法中傳入字符串列表

如:plt.plot(x,np.sin(x),x,np.cos(x))                                              

       plt.legend(["sin","cos"])                      

 #屬性  loc設置圖例位置,若給定元祖,則設置圖例在整個視圖中的位置

            ncol設置圖例樣式(1表明縱向(默認),2表明橫向)

 

全部的字體樣式對照:

 

保存圖片

figure.savefig()

參數:dpi:圖形分辨率

          facecolor()圖像的背景色,默認爲w(白色)

         如:給子視圖添加背景顏色:plt.subplot(1,1,1,facecolor = "#f7f7f7")

                給主視圖添加背景顏色:plt.savefig("./image/label2.jpg",dpi= 300,facecolor="green")

  

 

 設置plot的樣式風格

plot語句中支持除了X,Y之外的參數,以字符串形式存在,來控制顏色,線型,點型等要素

語法格式:plt.plot(X,Y,"format",.....)

①.設置顏色:color或c           能夠是顏色英文名,也能夠是十六進制數

                  如:plt.plot(x,np.sin(x),color =np.random.rand(3)),讓隨機添加顏色

②.透明度設置:alpha          是一個小於1的浮點數,設置線型的顏色深淺

③.線型:linestyle或ls

④.線寬:linewidth           設置線型的寬度

如:plt.plot(x,np.sin(x),color ="red",alpha =1,ls = "steps",linewidth = 2 )

⑤.不一樣寬度的破折線:dashes      用來設置破折線的各段的寬度

如:plt.plot(x,np.cos(x),dashes = [5,3])                   #線段和空格的比例爲5:3

⑥.點型:marker               給圖像線型上添加點,

     點的樣式

marker的屬性

如:

plt.plot(x,x**(1/2),marker= "*",markersize=10,markerfacecolor ="red",markeredgecolor = "y")                

 

多個曲線不一樣屬性設置方式(三種)

1.多個都進行設置時,無需聲名屬性plt.plot(x1,y1,fmt,x2,y2,fmt2......)

如: 

x = np.linspace(0.1,10,10)
plt.plot(x,x**(2),"r*-.",x,1/x,"go:")            #屬性能夠連用

 2.對實例使用一系列的setter方法

x = np.linspace(-2,2,100000)
line, = plt.plot(x,((np.cos(x)**(1/2))*np.cos(200*x)+(abs(x)**(1/2))-1)*(4-x**3)**0.01)
line.set_linestyle(":")
line.set_color("black")

 

 

3.使用setp()方法進行屬性設置

x = np.linspace(-2,2,100000)
line, = plt.plot(x,((np.cos(x)**(1/2))*np.cos(200*x)+(abs(x)**(1/2))-1)*(4-x**3)**0.01)
plt.setp(line,color = "r",alpha = 0.6,ls = "-.")

 

自定義x,y座標刻度

1.xticks()和yticks()方法

x = np.linspace(0,2*np.pi,100)
line, = plt.plot(x,np.sin(x))

#對座標刻度進行自定義設置,第一個列表爲正常的顯示值,第二個列表爲想設置成的樣式
plt.yticks([-1,0,1],["min",0,"max"],fontsize = 18,color = "red",rotation =60)  
plt.xticks(np.arange(0,2*np.pi+0.01,np.pi/2),[0,"$\pi$/2","$\pi$","3$\pi$/2","2$\pi$"],fontsize = 18,color = "r")

#注意pi的輸入樣式:「$\pi$」

相關文章
相關標籤/搜索