公众号: 数据小斑马,关注即可获得价值1000元的数据分析学习资料
数据可视化系列汇总:
Matplotlib可视化①——二维图表绘制(折线图&直方图&散点图&条形图&箱形图)
Seaborn做图系列①——直方图&箱型图&散点图&回归图&热力图&条形图
Excel数据分析高级技巧①——动态图表制作(offset,vlookup,控件…)
Excel高级图表制作①——电池图/KPI完成情况对比图/重合柱形图
Excel高级图表制作②——帕累托图
Excel高级图表制作③——漏斗图/转化路径图
一、3D折线图
公众号: 数据小斑马,关注即可获得价值1000元的数据分析学习资料
import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dimport randomimport matplotlib as mplfrom matplotlib import cmfrom mpl_toolkits.mplot3d import axes3dfrom mpl_toolkits.mplot3d.art3d import Poly3DCollection,Line3DCollectionx = np.linspace(1,20,20)y = np.arange(10,30,1)z = np.random.randint(20,50,20) # numpy分别生成三个维度数据fig = plt.figure()ax = Axes3D(fig) # 创建3D图的2种方式,第一种通过Axes3D将图片从二维变成三维,第二种通过在add_subplot(111,projection='3d')将子图坐标修改成三维ax.plot(x,y,z,'bo--') # 参数与二维折现图不同的在于多了一个Z轴的数据plt.show()
二、3D曲面图
公众号: 数据小斑马,关注即可获得价值1000元的数据分析学习资料
data = np.random.randint(100,500,(3,10,20))x,y,z = data[0],data[1],data[2] # numpy同时生成三维数据fig = plt.figure()ax1 = fig.add_subplot(121,projection='3d')ax1.plot_surface(x,y,z,cmap=plt.cm.winter,rstride=1,cstride=1) # rstride和cstride是隔几行几列取一个数字,代表曲面的稀疏度ax2 = fig.add_subplot(122,projection='3d')ax2.plot_surface(x,y,z,cmap=plt.cm.winter,rstride=10,cstride=10)plt.show()
三、3D散点图
公众号: 数据小斑马,关注即可获得价值1000元的数据分析学习资料
x= np.linspace(5,20,20)y = np.linspace(20,100,20)x1,y1 = np.meshgrid(x,y)z = np.sin(x1)*y1+np.sin(y1)*x1 # 函数构造数据fig = plt.figure()ax1 = fig.add_subplot(121,projection='3d')ax1.scatter(x1,y1,z,c='y',marker='D')ax2 = fig.add_subplot(122,projection='3d')ax2.scatter(x1[:10],y1[:10],z[:10],cmap=plt.cm.winter,marker='o')ax2.scatter(x1[10:],y1[10:],z[10:],cmap=plt.cm.spring,marker='*')plt.show()
四、等高线图
x = np.arange(-10,10,0.01) #生成步长为0.01的数据y = np.arange(-10,10,0.01)x,y=np.meshgrid(x,y)def func(x,y):return x**2+y**2fig,axes = plt.subplots(2,2)axes[0,0].contour(x,y,func(x,y),20,cmap=plt.cm.winter,alpha=0.8) # 不填充,只是线20是指分成20等份,分太多会看不清axes[0,1].contourf(x,y,func(x,y),20,cmap=plt.cm.hot) # 填充c = axes[1,0].contour(x,y,func(x,y),[8,20],c='k') # [8,20]是只想看这两条线plt.clabel(c,inline=True,fontsize=10,fmt='%.f',colors=['k','y']) # 设置数据标签格式,inline是在线上d = axes[1,1].contourf(x,y,func(x,y),10,cmap=plt.cm.hot)plt.clabel(d,inline=True,fontsizq=10,fmt='%.f')plt.colorbar(d) # 显示数据条plt.xticks(())plt.yticks(()) # 去除坐标轴plt.show()
本人互联网数据分析师,目前已出Excel,SQL,Pandas,Matplotlib,Seaborn,机器学习,统计学,个性推荐,关联算法,工作总结系列。
微信搜索 " 1、回复“数据小斑马
" 公众号数据分析
"就可以免费领取
数据分析升级打怪15本必备教材
喔