30.科学计算和可视化
(1)科学计算库:
安装:pip install numpy
导入:import numpy as np
(2)绘制图形:
安装:pip install matplotlib
导入:import matplotlib.pyplot as plt
(3)应用案例:
#1.matplotlib小测试
'''
import matplotlib.pyplot as plt #导入绘图第三方库
plt.plot([1,8],[1,8],[4,8,5,6,7,4],[4,4,1,6,1,4],[4,4,1,6,1,4],[4,8,5,6,7,4]) #给图像拐点左边赋值,并绘制2D图形
plt.savefig('test1',dpi=600) #存储图形文件
plt.savefig('../picture/test1',dpi=600)
plt.axis(0,9,0,9) #表示坐标轴上的极限点
plt.show() #展示图形内容
'''
#2.matplotlib综合测试
'''
import matplotlib.pyplot as plt
plt.plot([4,1,4,3,2],[1,1,5,-5,2],[1,1,5,-5,2],[4,1,4,3,2])
plt.xlabel('Grade')
plt.ylabel('Course')
plt.savefig('test2',dpi=600)
plt.savefig('../picture/test2',dpi=600)
plt.axis('equal')
plt.show()
'''
#3.同一绘图区域绘制多图
'''
import numpy as np
import matplotlib.pyplot as plt
a=np.arange(5)
plt.plot(a,a**1,'ro-',label='a')
plt.plot(a,a**2,'y-',label='b')
plt.plot(a,a*2,'gx--',label='c')
plt.plot(a,a*4,'bs-',label='d')
plt.plot(a,a*3,'mH--',label='e')
plt.savefig('test3',dpi=600)
plt.savefig('../picture/test3',dpi=600)
plt.legend()
plt.show()
'''
#4.多区域绘图
'''
import numpy as np
import matplotlib.pyplot as plt
def f(t):
return np.exp(-t)*np.cos(2*np.pi*t)
a=np.arange(0,5,0.02)
plt.subplot(321)
plt.plot(a,f(a))
plt.subplot(322)
plt.plot(a,np.cos(2*np.pi*a),'-.',color='r')
plt.subplot(323)
plt.plot(a,np.sin(2*np.pi*a),'-.',color='g')
plt.subplot(324)
plt.plot(a,np.tan(2*np.pi*a),':',color='m')
plt.savefig('test4',dpi=600)
plt.savefig('../picture/test4',dpi=600)
plt.show()
'''
#5.饼图绘制
'''
import matplotlib.pyplot as plt
labels='Frogs','Hogs','Dogs','Logs'
sizes=[15,30,45,10]
explode=(0,0.2,0,0)
plt.pie(sizes,explode,labels,autopct='%1.1f%%',shadow=True,startangle=90)
plt.savefig('test5',dpi=600)
plt.savefig('../picture/test5',dpi=600)
plt.axis('equal')
plt.show()
'''
#6.条形图绘制
#教材p327
#绘制2018到2021年中国大陆地区生产口罩总量的条形图
'''
import numpy as np
import matplotlib.pyplot as plt
datearr=['2018Y','2019Y','2020Y','2021Y']
num_masks=np.asarray([45.4,50,62.2,77])
plt.bar(datearr,num_masks,width=0.3)
plt.xlabel('2018年--2021年',fontproperties='SimHei',fontsize=10)
plt.ylabel('数量/亿只',fontproperties='SimHei',fontsize=10)
plt.title('2018-2021年中国大陆地区口罩生产量',fontproperties='SimHei',fontsize=15)
plt.savefig('test6',dpi=600)
plt.savefig('../picture/test6',dpi=600)
plt.show()
'''