绘图的类型:

1、线形图:plot()
2、直方图: hist()
3、条形图:bar ()
4、饼图: pie()
5、3D图:from mpl_toolkits.mplt3d import Axes3D
6、动态交互图:pyecharts
#1、线性图:plot()
#plt.plot([0,1,2,3,4],[4,8,6,9,10])
#plt.plot([4,6,7,8,10],[6,10,8,11,12])

#绘制平行四边形
plt.rcParams['font.family'] = 'kaiti'   #设置中文字体格式
plt.plot([2,5,6,3,2],[2,2,4,4,2])   #x坐标在前y坐标在后,都用数组描述,如果x坐标缺少,默认为0,1,2,...
plt.axis([0,8,0,8])   #设置坐标轴的取值范围,前两位数表示x轴,后两位表示y轴
plt.xlabel("课程")   #默认英文模式
plt.ylabel("成绩")
plt.title("立达学院数字科学学院各课程成绩")   #图表标题

plt.savefig('../R&Q_pic/test_0.png',dpi = 600)   #保存在指定的文件夹里
plt.show()   #显示图表

绘图的类型:_第1张图片

绘图的类型:_第2张图片

绘图的类型:_第3张图片

#2、直方图:hist()
import matplotlib.pyplot as plt 
import numpy as np
plt.rcParams['font.family'] ="STSong"
datas_1 = 10 + np.random.randn(1000) #随机生成1000个数 
datas_2 = 12 + np.random.randn(1000) #随机生成1000个数 
plt.hist(datas_1, bins=30)
plt.hist(datas_2, bins=30,alpha=0.4)
plt.legend(["以10为中心的正态分布","以12为中心的正态分布"]) 
plt.title("直方图") 
plt.xlabel("区间") 
plt.ylabel("频数")
plt.savefig('../R&Q_pic/test6',dpi=600) 
plt.show()

绘图的类型:_第4张图片

#3、条形图,bar()
import matplotlib.pyplot as plt

plt.rcParams['font.family'] ='STsong'

years =["2014","2015","2016","2017","2018","2019"]
baokao_nums =[172,164.9,177,201,238,290]
luqu_nums=[54.87,57.06,58.98,72.22,76.25,79.3] 

x = range(len(years))
plt.bar (x,height=baokao_nums,width=0.4)
plt.bar([i + 0.4 for i in x],luqu_nums,width=0.4)
plt.xticks = ([i + 0.2 for i in x],years)

plt.legend(["研究生报考人数","研究生录取人数"]) 
plt.ylabel("人数/万人") 
plt.xlabel("年份")
plt.title("研究生历年报考和录取情况")
plt.savefig('../R&Q_pic/test7',dpi=600)
plt.show()

绘图的类型:_第5张图片

#4饼图
#5、3D图: from mpl_toolkits.mplt3d import Axes3D
#示例:绘制s=sin(sqrt(x2+y'2))/sqrt(x2+y2)的图像 
import matplotlib.pyplot as plt 
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure (num = '3D绘图',figsize=(12,6)) 
ax = Axes3D(fig,auto_add_to_figure=False)
fig.add_axes(ax)
x,Y = np.mgrid[-20:20:100j,-20:20:100j]   #生成代表X轴和Y轴数据的列表,并进行网格化 z=np.sin(np.sqrt(X**2+Y**2))/np.sqrt(X**2+Y**2)
#Z =np.sin(np.sqrt(X**2+y**2))            
#绘制三维图
surf = ax.plot_surface (X,Y,z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow')) #指定行列宽度和颜色胶射
ax.set_zlim(-0.5,1) #设置Z轴范围 
ax.set_xlabel('X') 
ax.set_ylabel('Y') 
ax.set_zlabel('z')
plt.title('$z=sin(sqrt(x^2+y^2))/=qrt(x2+y^2)$的三维图形')#设置标题 
fig.colorbar(surf,shrink=0.5,aspect=5) 
plt.savefig('../R&Q_pic/test8',dpi=600) 
plt.show()
#6动态交互图

绘图的类型:_第6张图片

你可能感兴趣的:(numpy,jupyter,python)