python绘制等高线函数参数说明

news2024/12/24 0:50:25

文章目录

      • 函数说明
      • 参数说明
      • 返回值
      • 示例
      • 生成双峰山体数据
      • 代码案例
      • 生成三维的空间双峰山形函数


plt.contour 是 Matplotlib 库中的一个函数,用于绘制等高线图。等高线图是一种特殊的地图,其中等高线表示相同高度的等值线。

函数说明

matplotlib.pyplot.contour(X, Y, Z, levels=None, colors=None, linestyles=None, linewidths=None, alpha=None, cmap=None, norm=None, extend=None, antialiased=None, origin=None, extent=None, *, data=None)

参数说明

  • X, Y: 输入的两个一维数组,表示网格的坐标。
  • Z: 一个二维数组,表示网格上每个点的值。
  • levels: 一个数组或整数,指定等高线的值。如果是一个数组,则会绘制这些值对应的等高线;如果是一个整数,则会自动生成指定数量的等高线。
  • colors: 一个字符串或一个颜色列表,指定等高线的颜色。
  • linestyles: 一个字符串或一个线条样式列表,指定等高线的线条样式。
  • linewidths: 一个数值或一个数值列表,指定等高线的线条宽度。
  • alpha: 一个介于0和1之间的数值,指定等高线的透明度。
  • cmap: 一个 Colormap 实例,指定等高线的颜色映射。
  • norm: 一个 Normalize 实例,指定等高线的颜色映射的归一化。
  • extend: 一个字符串,指定等高线在颜色映射之外的行为。
  • antialiased: 一个布尔值,指定是否对线条进行抗锯齿处理。
  • origin: 一个字符串,指定图像的原点位置。
  • extent: 一个长度为4的序列,指定图像的范围:[xmin, xmax, ymin, ymax]。
  • data: 一个可选的字典,包含用于绘制的额外数据。

返回值

返回一个 QuadContourSet 对象,表示等高线图。

示例

import matplotlib.pyplot as plt
import numpy as np

# 创建一个二维网格
x = np.linspace(-3.0, 3.0, 100)
y = np.linspace(-3.0, 3.0, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(X) + np.cos(Y)

# 绘制等高线
plt.contour(X, Y, Z, colors='black')

# 添加标题和坐标轴标签
plt.title('Contour Plot')
plt.xlabel('X')
plt.ylabel('Y')

# 显示图形
plt.show()

在这里插入图片描述

首先创建了一个二维网格,然后计算了每个网格点处的函数值。接着使用 plt.contour 函数绘制了这些函数值的等高线,指定等高线的颜色为黑色,并添加了标题和坐标轴标签

plt.contour 函数默认会自动选择等高线的值,如果想要指定等高线的值,可以通过 levels 参数来实现。例如,如果要绘制特定的等高线值:

plt.contour(X, Y, Z, levels=[0], colors='black')

这将只绘制函数值为0的等高线。

生成双峰山体数据


# 定义生成山体形状的函数
def height(x,y):
    return  -(np.log2(np.exp(-(x-2)**2-(y-2)**2) + 1.2*np.exp(-x**2-y**2)))**1

# 生成数据点
x = np.arange(-5.5,8.5,0.2)
y = np.arange(-5.5,8.5,0.2)
X,Y = np.meshgrid(x,y)
Z = height(X,Y)

代码案例

import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl

# 定义生成山体形状的函数
def saddle_shape(x, y):
    return -np.log((np.exp(-(x-2)**2-(y-2)**2) + 1.2*np.exp(-x**2-y**2)))

# 生成数据点
x = np.arange(-1.5,3.5,0.1)
y = np.arange(-1.5,3.5,0.1)
X,Y = np.meshgrid(x,y)
Z = saddle_shape(X,Y)

# 设置字体为新罗马
plt.rcParams['font.family'] = 'Times New Roman'

# ax, fig = plt.subplots()

# 绘制填充等高线图
plt.contourf(Y, X, Z, levels=np.linspace(Z.min(), Z.max(), 20))


# 设置坐标轴标签
# plt.colorbar(label='U')  # 添加颜色条
plt.ylabel('w(mm)')
plt.xlabel('$x_b$')

# 创建一个颜色条对象
cbar = plt.colorbar()

# 设置颜色条的标签
cbar.set_label('U (mJ)')

# 设置颜色条刻度对应的数值
cbar.set_ticks([1.22, 6.85, 12.48])
cbar.set_ticklabels(['0', '2', '4'])

plt.yticks([-1, 0, 1, 2, 3], [3, '', '', '', -3])
plt.xticks([-1, 0, 1, 2, 3], [-10, '', '', '', 10])


# 显示图形
plt.show()

在这里插入图片描述

生成三维的空间双峰山形函数

ax.contourf3D(X, Y, Z)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1651949.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年四川省中小企业数字化转型城市试点申报对象要求、时间安排

一、重点任务 (一)聚焦企业需求,加快中小企业数字化转型。以中小企业数字化转型为契机,促进数字经济和实体经济深度融合。优先将数字化转型需求迫切、具备一定数字化基础的专精特新中小企业纳入试点范围。围绕中小企业创新、市场…

【BUUCTF】Crypto_RSA(铜锁/openssl使用系列)

【BUUCTF】Crypto_RSA(铜锁/openssl使用系列) 1、题目 在一次RSA密钥对生成中,假设p473398607161,q4511491,e17 求解出d作为flga提交 2、解析 RSA加密过程: 1)选择素数:选择两个不…

AI绘画是什么?分享11张精美的AI绘画图片

AI绘画是什么? AI绘画是指利用人工智能技术来生成艺术作品的一种创作方式。通过训练机器学习算法,使计算机能够学习艺术家的风格和技巧,并自动生成类似的绘画作品。这种技术可以模仿各种绘画风格,如印象派、抽象艺术、写实主义等&…

Shopify如何安装Google Search Console

1,注册google search console账号 注册链接 https://search.google.com/search-console/about 2,输入网址 有两种方式,,都可使用,看个人习惯,我这边后续使用网址前缀来操作 3,填写网址后点击继…

618购物狂欢有哪些值得买的?五款心水好物真实分享!

618购物狂欢即将到来,你是不是已经迫不及待地期待着各种优惠和折扣?在这个充满购物狂欢的时刻,大家可能会犹豫在众多商品中该如何选择。不用担心!我已经为大家精心挑选了五款心水好物,并进行了真实的分享,帮…

【C#】DateTime类型数组含有null?并排序

代码 internal class Program{static void Main(string[] args){List<DateTime?> dateTimes new List<DateTime?> { null,DateTime.MinValue,DateTime.MaxValue};var temp new List<DateTime?> { };dateTimes.Sort();//dateTimes.Reverse();foreach (va…

基于springboot的校园食堂订餐系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…

如何保护数据安全?迅软DSE加密系统给信息撑把保护伞!

信息安全当然需要保护&#xff0c;不然企业的信息可以发给任何人&#xff0c;普通信息还好&#xff0c;如果是重要机密呢&#xff0c;企业重要信息被发出去后可能会造成一些麻烦&#xff0c;所以可以使用加密系统&#xff0c;对数据进行安全保护&#xff0c;防止泄密问题&#…

vue脚手架和vite创建的项目的环境配置

开发环境文件 .env.development NODE_ENV"development" # // 开发接口域名 本地测试就用这个 # vue脚手架创建的 VUE_APP_MODE"开发环境" VUE_APP_API_URL http://19527 # vite创建的 # VITE_MODE"开发环境" # VITE_BASE_URL http://1920:9527…

详解:牵牛易帮-免费知识库工具的弊端

众所周知&#xff0c;知识库工具已成为企业必不可少的一部分&#xff0c;它们可以提升工作效率、优化客户体验。牵牛易帮作为一款免费的知识库工具&#xff0c;吸引了众多小微企业和个人用户。然而&#xff0c;免费是有两面性的&#xff0c;牵牛易帮也不例外。本文将对牵牛易帮…

等离子刻蚀中的化学键是如何断裂与生成的?

知 识星球&#xff08;星球名&#xff1a; 芯片制造与封测社区&#xff0c;星球号&#xff1a; 63559049&#xff09;里的学员问&#xff1a; 我看 到一本书上 说刻蚀SiO2需要C&#xff0c;这个C会和SiO2中的O结合。 较弱的 si和f结合从而被刻蚀。 但是另一本书上写Si…

封装一个可以最小化和展开的弹窗组件

gl-dialog 大概思路&#xff1a; 在弹窗组件内部引入gl-dialog-collapse&#xff0c;这个组件主要用于存储已经被最小化的弹窗&#xff08;基础数据&#xff09; 弹窗内部的数据如何在父组件拿到是通过作用域插槽来实现的 gl-dialog接收一个tempData这个数据会在内部被记录下来…

Gen-2颠覆AI生成视频!一句话秒出4K高清大片,网友:彻底改变游戏规则

这&#xff0c;绝对称得上是生成式AI进程中的里程碑。 就在深夜&#xff0c;Runway家标志性的AI视频生成工具Gen-2&#xff0c;迎来了“iPhone时刻”般的史诗级更新—— 依旧是简单一句话输入&#xff0c;不过这一次&#xff0c;视频效果一口气拉到了4K超逼真的高度&#xff…

WordPress原创插件:当日24小时发布文章标题变红

WordPress原创插件&#xff1a;当日24小时发布文章标题变红 <?php// 添加自定义样式 function title_red_plugin_styles() {$current_time time();$post_time get_the_time(U);$time_difference $current_time - $post_time;if ($time_difference < 86400) {echo&l…

【doghead】mac与wsl2联通

mbp 设置为发送端,那么要能与windows上 wsl2的ubutnu通信。 mbp的 uv 构建ok zhangbin@zhangbin-mbp-2  ~/tet/Fargo/zhb-bifrost/Bifrost-202403/worker/third_party/libuv   main clion使用lldb cmake构建 更新git2.45.0啊

无人机+垂直起降:微型共轴双旋翼无人机技术详解

微型共轴双旋翼无人机技术是一种独特的无人机设计&#xff0c;它结合了垂直起降&#xff08;VTOL&#xff09;能力和微型无人机的灵活性。这种设计允许无人机在无需跑道的情况下垂直起降&#xff0c;并具备在空中悬停和执行各种飞行动作的能力。 适用于集群控制&#xff0c;荷载…

SAP-ABAP-操作透明表06

1、操作透明表-查询 查询0条数据只做判断 SELECT COUNT(*) FROM ZHY_XYXX_01 WHERE ZBJ = 202404. IF SY-SUBRC = 0. WRITE 班级存在. ELSE. WRITE 班级不存在. ENDIF. 查询一条数据 *查询一条数据 SELECT SINGLE ZBJ, ZXH INTO @GS_Z…

【数据库原理及应用】期末复习汇总高校期末真题试卷07

试卷 一、填空题&#xff08;每空1分&#xff0c;共10分&#xff09; 1.数据库管理系统在外模式、模式和内模式这三级模式之间提供了两层映象&#xff0c;其中 映象保证了数据的逻辑独立性。 2. 数据模型通常由 、数据操作和完整性约束三部分组…

不盖CNAS的证书就是无效的?证书哪些信息是“非必要”?

做设备校准的企业&#xff0c;大多数都是为了拿到仪器校准证书&#xff0c;而说起校准证书&#xff0c;很多人优先就是想到CNAS&#xff0c;CNAS作为校准行业重要的核心资质&#xff0c;无论是校准机构实力的证明&#xff0c;还是满足企业年审的需要&#xff0c;基本上都是关键…

启动任何类型操作系统:不需要检索 ISO 文件 | 开源日报 No.243

netbootxyz/netboot.xyz Stars: 7.7k License: Apache-2.0 netboot.xyz 是一个方便的平台&#xff0c;可以不需要检索 ISO 文件就能启动任何类型操作系统或实用工具磁盘。它使用 iPXE 提供用户友好的 BIOS 菜单&#xff0c;让您轻松选择所需的操作系统以及特定版本或可引导标志…