仿西部数码网站,公司网站建设与管理的作用,wordpress每篇文章怎么加关键词,淮南做网站的公司CSDN 课程推荐#xff1a;《Python 数据分析与挖掘》#xff0c;讲师刘顺祥#xff0c;浙江工商大学统计学硕士#xff0c;数据分析师#xff0c;曾担任唯品会大数据部担任数据分析师一职#xff0c;负责支付环节的数据分析业务。曾与联想、亨氏、网鱼网咖等企业合作多个…
CSDN 课程推荐《Python 数据分析与挖掘》讲师刘顺祥浙江工商大学统计学硕士数据分析师曾担任唯品会大数据部担任数据分析师一职负责支付环节的数据分析业务。曾与联想、亨氏、网鱼网咖等企业合作多个企业级项目。Matplotlib 系列文章
Python 数据分析三剑客之 Matplotlib一初识 Matplotlib 与其 matplotibrc 配置文件Python 数据分析三剑客之 Matplotlib二文本描述 / 中文支持 / 画布 / 网格等基本图像属性Python 数据分析三剑客之 Matplotlib三图例 / LaTeX / 刻度 / 子图 / 补丁等基本图像属性Python 数据分析三剑客之 Matplotlib四线性图的绘制Python 数据分析三剑客之 Matplotlib五散点图的绘制Python 数据分析三剑客之 Matplotlib六直方图 / 柱状图 / 条形图的绘制Python 数据分析三剑客之 Matplotlib七饼状图的绘制Python 数据分析三剑客之 Matplotlib八等高线 / 等值线图的绘制Python 数据分析三剑客之 Matplotlib九极区图 / 极坐标图 / 雷达图的绘制Python 数据分析三剑客之 Matplotlib十3D 图的绘制Python 数据分析三剑客之 Matplotlib十一最热门最常用的 50 个图表【译文】 另有 NumPy、Pandas 系列文章已更新完毕欢迎关注
NumPy 系列文章https://itrhx.blog.csdn.net/category_9780393.htmlPandas 系列文章https://itrhx.blog.csdn.net/category_9780397.html 推荐学习资料与网站博主参与部分文档翻译
NumPy 官方中文网https://www.numpy.org.cn/Pandas 官方中文网https://www.pypandas.cn/Matplotlib 官方中文网https://www.matplotlib.org.cn/NumPy、Matplotlib、Pandas 速查表https://github.com/TRHX/Python-quick-reference-table 文章目录【1x00】等高线概念【2x00】理解 numpy.meshgrid()【3x00】绘制方法 matplotlib.pyplot.contour()【4x00】填充方法 matplotlib.pyplot.contourf()【5x00】标记方法 matplotlib.pyplot.clabel()【6x00】Colormap 取值【7x00】简单示例【8x00】添加标记【9x00】轮廓线颜色和样式【10x00】颜色填充这里是一段防爬虫文本请读者忽略。
本文原创首发于 CSDN作者 TRHX。
博客首页https://itrhx.blog.csdn.net/
本文链接https://itrhx.blog.csdn.net/article/details/106066852
未经授权禁止转载恶意转载后果自负尊重原创远离剽窃【1x00】等高线概念
参考百度百科等高线概念总结如下等高线指的是地形图上高程相等的相邻各点所连成的闭合曲线。把地面上海拔高度相同的点连成的闭合曲线并垂直投影到一个水平面上并按比例缩绘在图纸上就得到等高线。等高线也可以看作是不同海拔高度的水平面与实际地面的交线所以等高线是闭合曲线。在等高线上标注的数字为该等高线的海拔。
位于同一等高线上的地面点海拔高度相同。但海拔高度相同的点不一定位于同一条等高线上在同一幅图内除了陡崖以外不同高程的等高线不能相交在图廓内相邻等高线的高差一般是相同的因此地面坡度与等高线之间的等高线平距成反比等高线平距愈小等高线排列越密说明地面坡度越大等高线平距愈大等高线排列越稀则说明地面坡度愈小等高线是一条闭合的曲线如果不能在同一幅内闭合则必在相邻或者其他图幅内闭合。等高线经过山脊或山谷时改变方向因此山脊线或者山谷线应垂直于等高线转折点处的切线即等高线与山脊线或者山谷线正交。
在 Matplotlib 等高线的绘制中需要传递三个基本参数某个点的 x、y 轴坐标以及其高度。 【2x00】理解 numpy.meshgrid()
numpy.meshgrid() 方法用于生成网格点坐标矩阵。
import numpy as npa np.array([1, 2, 3])
b np.array([7, 8, 9])
res np.meshgrid(a, b)
print(res)输出结果
[array([[1, 2, 3],[1, 2, 3],[1, 2, 3]]),array([[7, 7, 7],[8, 8, 8],[9, 9, 9]])]给定两个数组a[1, 2, 3] 和 b[7, 8, 9]a 作为 x 轴数据b 作为 y 轴数据那么一共可以绘制出 9 个点 (1,7)、(1,8)、(1,9)、(2,7)、(2,8)、(2,9)、(3,7)、(3,8)、(3,9)而 numpy.meshgrid() 方法就是起这样的作用返回的两个二维数组横坐标矩阵 a 中的每个元素与纵坐标矩阵 b 中对应位置元素共同构成一个点的完整坐标。
因为在 matplotlib.pyplot.contour() 等高线绘制函数中接收的是二维坐标信息所以在绘制等高线图之前要将原数据经过 numpy.meshgrid() 方法处理也可以自己构建类似于上述的二维数组。 【3x00】绘制方法 matplotlib.pyplot.contour()
matplotlib.pyplot.contour() 方法可用于绘制等高线图。
基本语法matplotlib.pyplot.contour(\*args, dataNone, \*\*kwargs)
通用格式matplotlib.pyplot.contour([X, Y,] Z, [levels], **kwargs)
基本参数
参数描述X, Y数组形式的点的 x 和 y 轴坐标两者都必须是二维的形状与 Z 相同Z绘制轮廓的高度值二维数组每个元素是其对应点的高度levels确定等高线的数目和位置如果是整数 N则使用 N 个数据间隔即绘制 N1 条等高线如果是数组形式则绘制指定的等高线。值必须按递增顺序排列
其他参数
参数描述colors等高线的颜色颜色字符串或颜色序列cmap等高线的颜色字符串或者 Colormap通常包含一系列的渐变色或其他颜色组合取值参见【6x00】Colormap 取值alpha透明度介于0透明和1不透明之间origin通过指定 Z[00] 的位置来确定 Z 的方向和确切位置仅当未指定 X, Y 时才有意义NoneZ[00] 位于左下角的 X0, Y0 处lowerZ [0, 0] 位于左下角的 X 0.5, Y 0.5 处upperZ[00] 位于左上角的 XN0.5, Y0.5 处image使用 rcParams[“image.origin”] upper的值antialiased是否启用抗锯齿渲染默认 Truelinewidths等高线的线宽如果是数字则所有等高线都将使用此线宽如果是序列则将按指定的顺序以升序打印线宽默认为 rcParams[“lines.linewidth”] 1.5linestyles等高线的样式如果线条颜色为单色则负等高线默认为虚线- or solid, -- or dashed, -. or dashdot : or dotted, none or or 【4x00】填充方法 matplotlib.pyplot.contourf()
matplotlib.pyplot.contourf() 方法与 matplotlib.pyplot.contour() 的区别在于contourf() 会对等高线间的区域进行颜色填充filled contours。除此之外两者的函数签名和返回值都相同。
基本语法matplotlib.pyplot.contourf(\*args, dataNone, \*\*kwargs)
通用格式matplotlib.pyplot.contour([X, Y,] Z, [levels], **kwargs)
基本参数
参数描述X, Y数组形式的点的 x 和 y 轴坐标两者都必须是二维的形状与 Z 相同Z绘制轮廓的高度值二维数组每个元素是其对应点的高度levels确定等高线的数目和位置如果是整数 N则使用 N 个数据间隔即绘制 N1 条等高线如果是数组形式则绘制指定的等高线。值必须按递增顺序排列
其他参数
参数描述colors等高线的填充颜色颜色字符串或颜色序列cmap等高线的填充颜色字符串或者 Colormap通常包含一系列的渐变色或其他颜色组合取值参见【6x00】Colormap 取值alpha透明度介于0透明和1不透明之间origin通过指定 Z[00] 的位置来确定 Z 的方向和确切位置仅当未指定 X, Y 时才有意义NoneZ[00] 位于左下角的 X0, Y0 处lowerZ [0, 0] 位于左下角的 X 0.5, Y 0.5 处upperZ[00] 位于左上角的 XN0.5, Y0.5 处image使用 rcParams[“image.origin”] upper的值antialiased是否启用抗锯齿渲染默认 Truelinewidths等高线的线宽如果是数字则所有等高线都将使用此线宽如果是序列则将按指定的顺序以升序打印线宽默认为 rcParams[“lines.linewidth”] 1.5linestyles等高线的样式如果线条颜色为单色则负等高线默认为虚线- or solid, -- or dashed, -. or dashdot : or dotted, none or or 【5x00】标记方法 matplotlib.pyplot.clabel()
matplotlib.pyplot.clabel(CS, \*args, \*\*kwargs) 方法可用于标记等高线图。
参数描述CSContourSet等高线集对象即 pyplot.contour() 返回的对象levels需要标记的等高线集数组类型如果未指定则默认标记所有等高线fontsize标记的字体大小可选项xx-small, x-small, small, medium, large, x-large, xx-largecolors标记的颜色颜色字符串或颜色序列inline是否在标签位置移除轮廓显示bool 类型默认 Trueinline_spacing标签位置移除轮廓的宽度float 类型默认为 5fmt标签的格式字符串。str 或 dict 类型默认值为 %1.3frightside_up是否将标签旋转始终与水平面成正负90度bool 类型默认 Trueuse_clabeltext默认为 False如果为 True则使用 ClabelText 类而不是 Text创建标签ClabelText 在绘图期间重新计算文本的旋转角度如果轴的角度发生变化则可以使用此功能这里是一段防爬虫文本请读者忽略。
本文原创首发于 CSDN作者 TRHX。
博客首页https://itrhx.blog.csdn.net/
本文链接https://itrhx.blog.csdn.net/article/details/106066852
未经授权禁止转载恶意转载后果自负尊重原创远离剽窃【6x00】Colormap 取值
matplotlib.pyplot.contour() 和 matplotlib.pyplot.contourf() 中 cmap 参数用于设置等高线的颜色取值通常为 Colormap 中的值通常包含一系列的渐变色或其他颜色组合。具体参加下图。
官方文档https://matplotlib.org/tutorials/colors/colormaps.html 【7x00】简单示例
import numpy as np
import matplotlib.pyplot as pltplt.rcParams[font.sans-serif] [Microsoft YaHei]x np.arange(-2.0, 2.0, 0.01)
y np.arange(-2.0, 2.0, 0.01)
m, n np.meshgrid(x, y) # 生成网格点坐标矩阵# 指定一个函数用于计算每个点的高度也可以直接使用二维数组储存每个点的高度
def f(a, b):return (1 - b ** 5 a ** 5) * np.exp(-a ** 2 - b ** 2)# 绘制等高线图8 个数据间隔颜色为黑色
plt.contour(m, n, f(m, n), 8, colorsk)
plt.title(等高线图简单示例)
plt.xlabel(x axis label)
plt.ylabel(y axis label)plt.show()【8x00】添加标记
matplotlib.pyplot.clabel() 方法用于给等高线添加标记。
import numpy as np
import matplotlib.pyplot as pltplt.rcParams[font.sans-serif] [Microsoft YaHei]x np.arange(-2.0, 2.0, 0.01)
y np.arange(-2.0, 2.0, 0.01)
m, n np.meshgrid(x, y) # 生成网格点坐标矩阵# 指定一个函数用于计算每个点的高度也可以直接使用二维数组储存每个点的高度
def f(a, b):return (1 - b ** 5 a ** 5) * np.exp(-a ** 2 - b ** 2)# 绘制等高线图8 个数据间隔颜色为黑色
C plt.contour(m, n, f(m, n), 8, colorsk)
# 添加标记标记处不显示轮廓线颜色为黑红绿蓝四种保留两位小数
plt.clabel(C, inlineTrue, colors[k, r, g, b], fmt%1.2f)
plt.title(等高线图添加标记示例)
plt.xlabel(x axis label)
plt.ylabel(y axis label)plt.show()【9x00】轮廓线颜色和样式
matplotlib.pyplot.contour() 方法中colors 参数即可为等高线轮廓设置颜色可以是单色也可以是一个颜色列表linestyles 参数可以设置轮廓线样式注意如果线条颜色为单色则负等高线高度值为负默认为虚线。
import numpy as np
import matplotlib.pyplot as pltplt.rcParams[font.sans-serif] [Microsoft YaHei]x np.arange(-2.0, 2.0, 0.01)
y np.arange(-2.0, 2.0, 0.01)
m, n np.meshgrid(x, y) # 生成网格点坐标矩阵# 指定一个函数用于计算每个点的高度也可以直接使用二维数组储存每个点的高度
def f(a, b):return (1 - b ** 5 a ** 5) * np.exp(-a ** 2 - b ** 2)colors [k, r, g, b]
# 绘制等高线图8 个数据间隔颜色为黑色线条样式为 --
C plt.contour(m, n, f(m, n), 8, colorscolors, linestyles--)
# 添加标记标记处不显示轮廓线颜色为黑红绿蓝四种保留两位小数
plt.clabel(C, inlineTrue, colorscolors, fmt%1.2f)
plt.title(等高线图设置颜色/样式示例)
plt.xlabel(x axis label)
plt.ylabel(y axis label)plt.show()如果想启用渐变色则可以设置 cmap取值参见【6x00】Colormap 取值colorbar() 方法可以显示颜色对照条。
import numpy as np
import matplotlib.pyplot as pltplt.rcParams[font.sans-serif] [Microsoft YaHei]x np.arange(-2.0, 2.0, 0.01)
y np.arange(-2.0, 2.0, 0.01)
m, n np.meshgrid(x, y) # 生成网格点坐标矩阵# 指定一个函数用于计算每个点的高度也可以直接使用二维数组储存每个点的高度
def f(a, b):return (1 - b ** 5 a ** 5) * np.exp(-a ** 2 - b ** 2)# 绘制等高线图8 个数据间隔颜色为 plasma
C plt.contour(m, n, f(m, n), 8, cmapplasma)
# 添加标记标记处不显示轮廓线颜色为黑色保留两位小数
plt.clabel(C, inlineTrue, colorsk, fmt%1.2f)
# 显示颜色条
plt.colorbar()
plt.title(等高线图设置渐变色示例)
plt.xlabel(x axis label)
plt.ylabel(y axis label)plt.show()【10x00】颜色填充
matplotlib.pyplot.contourf() 方法用于对等高线之间的地方进行颜色填充。
import numpy as np
import matplotlib.pyplot as pltplt.rcParams[font.sans-serif] [Microsoft YaHei]x np.arange(-2.0, 2.0, 0.01)
y np.arange(-2.0, 2.0, 0.01)
m, n np.meshgrid(x, y) # 生成网格点坐标矩阵# 指定一个函数用于计算每个点的高度也可以直接使用二维数组储存每个点的高度
def f(a, b):return (1 - b ** 5 a ** 5) * np.exp(-a ** 2 - b ** 2)# 绘制等高线图8 个数据间隔颜色为 plasma
plt.contourf(m, n, f(m, n), 8, cmapplasma)
C plt.contour(m, n, f(m, n), 8, cmapplasma)
# 添加标记标记处不显示轮廓线颜色为黑色保留两位小数
plt.clabel(C, inlineTrue, colorsk, fmt%1.2f)
# 显示颜色条
plt.colorbar()
plt.title(等高线图颜色填充示例)
plt.xlabel(x axis label)
plt.ylabel(y axis label)plt.show()这里是一段防爬虫文本请读者忽略。
本文原创首发于 CSDN作者 TRHX。
博客首页https://itrhx.blog.csdn.net/
本文链接https://itrhx.blog.csdn.net/article/details/106066852
未经授权禁止转载恶意转载后果自负尊重原创远离剽窃