Python数据可视化笔记04 |
您所在的位置:网站首页 › 雷达分析图的使用方法视频 › Python数据可视化笔记04 |
Python数据可视化笔记01--Matplotlib基础 Python数据可视化笔记02--折线图、散点图实战 Python数据可视化笔记03--柱状图、饼状图实战 本文索引: 雷达图三维图本文环境:Windows10 + jupyter notebook 一、雷达图【雷达图】 【雷达图之极坐标系】 【雷达图之polar()函数】 polar(theta,r,**kwargs)主要参数: theta:指极角这里: 0.25*np.pi = 45°:极角 20:极径 ‘ro’:绘极坐标形状为红色圆点 lw = 2:极坐标图形宽度为2 如果绘制多个极角和极轴时: import numpy as np import matplotlib.pyplot as plt theta = np.array([0.25,0.5,0.75,1,1.25,1.5,1.75,2]) r = [75,60,50,70,50,85,45,70] plt.polar(theta*np.pi,r,'ro',lw = 2) plt.ylim(0,100) plt.show()theta:定义了一个ndarray数组存储多个数据 r:定义了一个数组存放极轴的长度,也叫极径 则在途中绘制出多个点(0.25*π,75),(0.5*π,60),(0.75*π,50),(1.0*π,70)等。 绘制完极坐标点后,把每个点用线连起来,就是雷达图了。只需要把图形绘制样式修改为‘ro-’即可,'ro-'中'-'表示极坐标点之间的连线。此时得到图形是这样的: 但是此时曲线并未闭合? 闭合曲线:多构造一个极坐标点,和第一个点重叠 import numpy as np import matplotlib.pyplot as plt theta = np.array([0.25,0.5,0.75,1,1.25,1.5,1.75,2,0.25]) r = [75,60,50,70,50,85,45,70,75] plt.polar(theta*np.pi,r,'ro-',lw = 2) plt.ylim(0,100) plt.show()运行结果: 运行结果: 【三维图概述】 matplotlib支持一些基础的三维图表绘制,比如曲面图、散点图和柱状图,需要使用mpl_toolkits模块。如果要绘制三维图形,首先需要使用以下的语句导入相应的对象: from mpl_toolkits.mplot3d import Axes3D 然后使用下面的两种方式之一声明要创建三维图: ax = fig.gca(projection = '3d') ax = plt.subplot(111,projection = '3d') 接下来就可以使用ax的plot()方法绘制三维曲线、plot_surface()方法绘制三维曲面、scatter()方法绘制三维散点图或bar3d()方法绘制三维柱状图了。【 三维曲面绘制方法:p3d.Axes3D.plot_surface() 】 在绘制三维图形时,至少需要指定x、y三个坐标轴的数据,然后再根据不同的图形指定额外的参数设置图形的属性。 plot_surface(X,Y,Z,*args,**kwargs) 常用参数:rstride和cstride分别控制x和y两个方向的步长,这决定了曲面上每个面片的大小;color用来指定面片的颜色;cmap用来指定面片的颜色映射表。【三维散点图绘制方法:p3d.Axes3D.scatter() 】 p3d.Axes3D.scatter(xs,ys,zs = 0,zdir = 'z',s = 20,c = None,depthshade = True, *args,**kwargs) 常用参数:xs、ys、zs分别用来指定散点符号的x、y、z坐标,如果同时为标量则指定一个三点符号的坐标,如果同时为等长数组则指定一系列散点符号的坐标。s用来指定散点符号的大小,可以是标量或与xs等长的数组;【三维柱状图绘制方法:p3d.Axes3D.bar3d()】 p3d.Axes3D.bar3d(x,y,z,dx,dy,dz,color = None,zsort = 'average',*args,**kwargs) 常用参数:x、y、z分别用来指定每个柱底面的坐标,如果这三个参数都是标量则指定一个柱的地面坐标,如果是三个等长的数组则指定多个柱的底面坐标;dx、dy、dz分别用来是定柱在三个坐标轴上的跨度,即x方向的宽度,y方向的厚度和z方向的高度;color用来指定柱的表面颜色。三维曲线图实战:根据测试数据x、y、z,然后绘制三维曲线,并设置图例字号 import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax = fig.gca(projection = '3d') #测试数据 theta = np.linspace(-4*np.pi,4*np.pi,100) z = np.linspace(-4,4,100)*0.3 r = z**4 + 1 x = r*np.sin(theta) y = r*np.cos(theta) ax.plot(x,y,z,'b^-',label = '3D Picture Test') mpl.rcParams['legend.fontsize'] = 10 ax.legend() plt.show()三维柱状图实战:生成测试数据,绘制三维柱状图,设置每个柱的颜色随机 import numpy as np import matplotlib.pyplot as plt import mpl_toolkits.mplot3d x = np.random.randint(0,40,10) y = np.random.randint(0,40,10) z = 80*abs(np.sin(x + y)) ax = plt.subplot(projection = '3d') for xx,yy,zz in zip(x,y,z): color = np.random.random(3) ax.bar3d(xx,yy,0,dx = 1,dy = 1,dz = zz,color = color) ax.set_xlabel('X') ax.set_xlabel('Y') ax.set_xlabel('Z') plt.show()Python数据可视化部分四个小节已全部更新完毕,神知道我是在被隔离期间完成这最后一篇的笔记的,接下来要开始机器学习部分的实战啦,大家一起加油,武汉加油,中国加油!!! |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |