Python基础之matplotlib框架
Posted 岩枭
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()
执行程序效果:
以上是关于Python基础之matplotlib框架的主要内容,如果未能解决你的问题,请参考以下文章
谈谈Python实战数据可视化之matplotlib模块(实战篇)