我们在往期对matplotlib.pyplot()方法学习,到现在我们已经会绘制折线图、柱状图、散点等常规的图表啦(往期的内容如下,大家可以方便查看往期内容)
python入门到进阶,爬虫数据分析全套资料分享讲解 (#1)
这么详细的Python matplotlib底层原理浅析_
这么详细的Python matplotlib 绘制图形 还不赶紧收藏_
超详细的Python matplotlib 绘制直方图 赶紧收藏_
超详细的Python matplotlib 绘制柱状图_
Python matplotlib 绘制饼图_
python matplotlib绘制折线图_
在matplotlib.pyplot 中除了可以绘制常规图表如折线、柱状、散点等,还可以绘制常用在地理上的平面展示地型的等高线图
本期,我们将详细学习matplotlib 绘制等高线图相关属性的学习,let's go~
等高线图绘制需要借助很多高中所学的三角函数、指数函数等公式,我们本期案例使用等高线方法汇总圆
案例数据准备
import numpy as np
# 定义一组连续的数据
x_value = np.arange(-5,5,0.1)
y_value = np.arange(-5,5,0.1)
# 转换成矩阵数据
x,y = np.meshgrid(x_value,y_value)
复制代码
绘制等高线
import matplotlib.pyplot as plt
plt.contour(x,y,z)
plt.title("Display Contour")
plt.xlabel("x(m)")
plt.ylabel("y(m)")
plt.show()
plt.show()
我们对上一节的等高线图添加一些属性
线条为红色,线条宽度逐渐增大,线条样式为dashed,透明度设置为0.5
```python
plt.contour(x,y,z,colors="r",
linestyles="dashed",
linewidths=np.arange(0.5,4,0.5),alpha=0.5)
```
复制代码
传入colors列表
plt.contour(x,y,z,
colors=('r','green','blue',(1,1,0),"#afeeee","0.5"),
linewidths=np.arange(0.5,4,0.5))
为等高线图,设置cmap为红色系
z = np.exp(-x**2-y**2)
z1 = np.exp(-(x-1)**2-(y-1)**2)
Z = (z-z1)*2
plt.contour(x,y,Z,
cmap='afmhot_r',
linewidths=np.arange(0.5,4,0.5))
复制代码
我们查看等高线图时,轮廓标签会辅助我们更好的查看图表。添加轮廓标签,我们需要借助clabe
pyplot.contour()绘制等高线方法,会返回QuadContourset
QuadContourset 包含level列表数据
使用pyplot.clabel()接受level列表数据标注在等高线上
x_value = np.arange(-3,3,0.025)
y_value = np.arange(-3,3,0.025)
x,y = np.meshgrid(x_value,y_value)
z = (1-x**2+y**5)*np.exp(-x**2-y**2)
cs = plt.contour(x,y,z,cmap="Blues_r",linewidths=np.arange(0.5,4,0.5))
plt.clabel(cs,fontsize=9,inline=True)
通常在等高线图中,不同区域填充不一样的颜色,帮助我们查看图表时更好地理解
使用pyplot.contourf()对比同区域轮廓进行填充颜色
z = (1-x**2+y**5)*np.exp(-x**2-y**2)
cs = plt.contour(x,y,z,10,colors="b",linewidths=0.5)
plt.clabel(cs,fontsize=12,inline=True)
plt.contourf(x,y,z,10,cmap="Blues_r",alpha=0.75)
我们可以借助pyplot.colorbar()方法来添加颜色条说明
z = (x**2+y**5)*np.exp(-x**2-y**2)
z1 = np.exp(-(x-1)**2-(y-1)**2)
Z = (z-z1)*2
cs = plt.contour(x,y,Z,10,colors="black",linewidths=0.5)
plt.clabel(cs,fontsize=12,inline=True)
plt.contourf(x,y,Z,10,cmap="afmhot_r",alpha=0.5)
plt.colorbar(shrink=0.8)
本期,对matplotlib.pyplot 绘制等高线方法contour和contourf相关属性的学习。在绘制等高线图时,我们需要对三角函数、指数函数、正余弦函数等知识有一点了解,才能绘制出想要的图表
学习本节过程中,高中的数学知识都还给老师,摸摸头,头发怎么又掉了