Python基礎之matplotlib框架

Python中matplotlib框架

畫sin(x)和cos(x)的圖像:

import matplotlib.pyplot as plt
import numpy as np

x=np.linspace(0,2*np.pi,100)
y1,y2=np.sin(x),np.cos(x)

plt.title('sin&cos')
plt.xlabel('x')
plt.ylabel('y')

plt.plot(x,y1)
plt.plot(x,y2)
plt.show()

執行程序結果:


畫條形圖:

#畫條形圖
import matplotlib.pyplot as plt
import numpy as np

name_list=['A','B','C','D']
num_list=[1.5,0.6,7.8,6]
plt.bar(range(len(name_list)),num_list,color='rgb',tick_label=name_list)

plt.show()

執行程序:


畫堆疊柱狀圖:

#堆疊柱狀圖
import matplotlib.pyplot as plt
import numpy as np

name_list=['A','B','C','D']
num_list=[1.5,0.6,7.8,6]
num_list1=[1,2,3,1]
plt.bar(range(len(name_list)),num_list,label='boy',fc='b')
plt.bar(range(len(name_list)),num_list1,label='girl',fc='r')
plt.legend()
plt.show()

執行程序:


並列柱狀圖:

#並列柱狀圖
import matplotlib.pyplot as plt
import numpy as np

name_list=['A','B','C','D']
num_list=[1.5,0.6,7.8,6]
num_list1=[1,2,3,1]
x=list(range(len(name_list)))
total_width,n=0.8,2
width=total_width/n
plt.bar(x,num_list,width=width,label='boy',fc='b')

for i in range(len(x)):
    x[i]+=width
plt.bar(x,num_list1,width=width,label='girl',fc='r')

plt.legend()
plt.show()

程序運行結果:


餅狀圖:

#餅狀圖
import matplotlib.pyplot as plt
import numpy as np

labels='A','B','C','D'
faces=[15,30.55,44.44,10]
explode=[0,0.1,0,0]#凸顯部分數據
plt.axes(aspect=1)
plt.pie(x=faces,labels=labels,explode=explode,autopct='%3.1f%%',shadow=True,startangle=90)

plt.show()

程序運行結果:


實時畫圖:

#實時圖
import matplotlib.pyplot as plt
import numpy as np

ax=[]
ay=[]
plt.ion()
for i in range(100):
    ax.append(i)
    ay.append(i**2)

    plt.clf() #清除
    plt.plot(ax,ay)
    plt.pause(1)
plt.ioff()#資源釋放

程序執行結果:


畫三維圖像:

#畫三維圖像
import matplotlib.pyplot as plt
import numpy as np
#引入3D座標軸
from mpl_toolkits.mplot3d import Axes3D

x=np.random.normal(0,1,100)
y=np.random.normal(0,1,100)
z=np.random.normal(0,1,100)

fig=plt.figure()
ax=Axes3D(fig)
ax.scatter(x,y,z)
plt.show()

執行程序效果:




發佈了301 篇原創文章 · 獲贊 365 · 訪問量 159萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章