龙空技术网

Python基础之mtplotlib库(三)

刘聪明LCM 191

前言:

此时各位老铁们对“python小数转化为百分数”大概比较看重,看官们都想要学习一些“python小数转化为百分数”的相关文章。那么小编在网络上搜集了一些关于“python小数转化为百分数””的相关文章,希望看官们能喜欢,同学们快快来了解一下吧!

本系列内容所用Python版本为anaconda,直接浏览器搜索下载安装即可!

今天我们继续学习matplotlib绘图库的相关知识。

一、常用图形

1.散点图

在之前学习特殊点时我们接触过散点,其api如下:

mp.scatter(x,y,marker='',s=10,color='',edgecolor='',facecolor='',zorder='')

其中参数x、y表示x轴y轴坐标数组,marker表示散点形状,s表示大小,color表示颜色,edgecolor表示边缘色,facecolor表示填充色,zorder表示图层大小

其运行结果如下:

除此之外散点图颜色可以设置成映射,d值越大证明身高和体重越偏离均值,散点的颜色就越深,除了jet颜色映射之外,还有很多,大家可以自行上网查询

其运行结果如下:

2.填充

填充的意思是以某种颜色填充两条曲线形成的闭合区域,api如下:

mp.fill_between(x,y1,y2,y1>y2,color='',alpha='')

其中参数y1>y2为填充条件,当结果为True时进行填充

其运行结果如下:

3.条形图(柱状图)

条形图api如下:

mp.bar(x,y,width,color='',label='',alpha='')

其中x为水平坐标数组,y为柱子高度数组,width为柱子宽度

其运行结果如下:

两种条形图的x需要左右平移,宽度也需要适当降低

其运行结果如下:

bar方法还有一个参数bottom参数,其形式可以是数组,其在width参数后面,其意思是条形图的底的基准位置,默认的是y=0,通过设置这个参数,后续我们可以绘画出K线图,先来简单测试一下

结果如下:

4.饼状图

饼状图的api如下:

mp.pie(values,spaces,labels,colors,'%d%%',shadow=True,startangle=90,radius=1)

其中参数values是值列表,sapces参数是每个扇形之间的间距列表,labels参数是每个扇形的标签列表,colors参数每个扇形的颜色列表,%d%%是标签所占比例格式,shadow参数表示是否显示扇形的阴影,startangle参数表示逆时针绘制饼状图的起始角度,radius参数表示扇形的半径

'%.2f%%'的意思是两位小数的百分数输出

其运行结果如下:

5.等高线图

画等高线图首先得有点阵

上图是一个4x5的点阵,可以理解成经纬度,加上海拔高度就是一个标准的地理坐标,把海拔高度相同的地理坐标连线就成了等高线,通过np.meshgrid方法可以生成点阵数组,海拔高度则可以有公式计算(网上搜)

其运行结果如下:

海拔高度z则由公式计算得出

等高线的api如下:

mp.contour(x,y,z,8,colors='',linewidths=0.5)

其中参数8表示将等高线绘制成8部分

其运行结果如下:

明显和我们一般看到的等高线图还有区别

运行结果如下:

与上一张等高线图的区别在于,每条等高线都加上了标记,方法为mp.clabel(cntr,fmt,inline_spacing,fontsize=8)

其中参数cntr是mp.contour返回的对象,我们需在调用contour方法时对返回对象赋值,fmt参数表示标记显示的小数点格式,inline_spacing参数表示标记和等高线之间的间隔,fontsize参数表示标记文本的大小

对于不同的高度我们可以使用不同的颜色填充,方法如下:

mp.contourf(x,y,z,8,cmap='jet')

cmap渐变色,值越小颜色越浅,值越大越红

其运行结果如下:

6.热成像图

热成像图的逻辑是图形像素点的大小不同颜色就不同,其api如下:

mp.imshow(z,cmap='jet',origin='lower')

mp.colorbar()方法显示热力条

其运行结果如下:

二、3D图形

matplotlib库支持绘制三维曲面,若希望绘制三维曲面,需使用axes3d提供的3d坐标系,调用方法如下:

from mpl_toolkits.mplot3d import axes3d

#获取3d坐标系

ax3d=mp.gca(projection='3d')

#三维点阵

ax3d.scatter()

#三维曲面

ax3d.plot_surface()

#三维线框图

ax3d.plot_wireframe()

1.绘制三维点阵图

其运行结果如下:

可以拖动查看不同维度

显示出坐标轴标签文本

显示结果如下:

2.绘制三维曲面

其运行结果如下:

参数rstride和cstride的作用可以自行测试,比较吃电脑配置

3.三维线框图

其运行结果如下:

好了,至此matplotlib库的基础知识已经学习完毕了,后续我们将进行其他知识的学习。

END

标签: #python小数转化为百分数