Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Matplotlib:如何渲染较大图形的小区域(剪辑)

Matplotlib:如何渲染较大图形的小区域(剪辑)
EN

Stack Overflow用户
提问于 2020-05-04 13:35:04
回答 1查看 89关注 0票数 1

我使用matplotlib绘制等高线图。在第二步中,我想从该图中提取一个小区域,并将其绘制在一个新的轴上。

我能找到的最接近的是一个裁剪图像的教程:https://matplotlib.org/3.1.0/gallery/images_contours_and_fields/image_clip_path.html

但我没有找到一种方法来从一个图形上裁剪一个补丁。

下面是创建轮廓图的代码:(基于本例:https://docs.scipy.org/doc/numpy/reference/generated/numpy.meshgrid.html )

代码语言:javascript
运行
AI代码解释
复制
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)
xx, yy = np.meshgrid(x, y, sparse=True)
z = np.sin(xx**2 + yy**2) / (xx**2 + yy**2)
h = plt.contourf(x,y,z)
plt.plot(-2, 2.5, 'or')
plt.show()

附加的图像1显示了我想要生成的图形类型:一个新图形,具有与原始图形相同的边界框,但只绘制了一个已知位置周围的小块。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-04 14:07:27

不显示z中的NaN值。因此,您需要做的就是定义剪辑路径,然后确定哪些(x,y)值在该路径之外,并将相应的z值设置为NaN。

代码语言:javascript
运行
AI代码解释
复制
import numpy as np
import matplotlib.pyplot as plt

x = np.arange(-5, 5, 0.01) # need higher resolution to get nice clipping boundaries
y = np.arange(-5, 5, 0.01)
xx, yy = np.meshgrid(x, y) # need dense meshgrid for contains_points
z = np.sin(xx**2 + yy**2) / (xx**2 + yy**2)

patch = plt.Circle((-2, 2), 1) # circle with radius 1 around the point (-2, 2)
path = patch.get_path().transformed(patch.get_patch_transform()) # the path attribute of Circle has to be transformed to data units
is_valid = path.contains_points(np.c_[xx.ravel(), yy.ravel()]).reshape(xx.shape)
z[~is_valid] = np.nan # NaN values are not plotted

h = plt.contourf(xx,yy,z)

plt.plot(-2, 2.5, 'or')
plt.show()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61593531

复制
相关文章
matplotlib图形的绘制
matplotlib是Python编程语言及其数值数学扩展包 NumPy的可视化操作界面。它利用通用的图形用户界面工具包,如Tkinter, wxPython, Qt或GTK+,向应用程序嵌入式绘图提供了应用程序接口(API)。此外,matplotlib还有一个基于图像处理库(如开放图形库OpenGL)的pylab接口,其设计与MATLAB非常类似--尽管并不怎么好用SciPy就是用matplotlib进行图形绘制。
用户8346838
2021/03/10
2.3K0
matplotlib相关图形绘制(二)
箱线图是由一组数据的最大值、最小值、中位数、两个四分位数(上、下四分位数)这五个特征值绘制而成的,它主要的作用是反应原始数据分布的特征,还可以进行多组数据分布特征的比较。
朱小五
2020/03/05
9760
matplotlib相关图形绘制(二)
matplotlib相关图形绘制(一)
  折线图用于显示随时间或有序类别而变化的趋势。折线图其实是由多个点连接在一起得到了,当点足够多的时候,折线图就变成了平滑的曲线。
朱小五
2020/03/05
1K0
matplotlib相关图形绘制(一)
OpenGL 图形渲染流程入门
1、什么是 shader shader 中文名为着色器,全称为着色器程序,是专门用来渲染图形的一种技术。通过 shader,我们可以自定义显卡渲染画面的算法,使画面达到我们想要的效果。小到每一个像素点,大到整个屏幕。通常来说,程序是运行在 CPU 中的,但是着色器程序比较特殊,它是运行在 GPU 中的,所以当我们在编写 shader 程序的时候,实际上也是在编写 GPU 程序。在 OpenGL 中,对应的着色器语言是 GLSL(OpenGL Shading Language)。通过 shader 编程,我们
用户1097444
2022/06/29
2.2K0
OpenGL 图形渲染流程入门
matplotlib 同时绘制多个图形(二)
matplotlib中,使用subplot2grid()函数,可以让图形跨越固定的网格布局。通过设置该函数的rowspan 和 colspan 参数,可以让图形占据多个行和列。
用户6021899
2019/08/14
1.8K0
matplotlib图形 嵌入 PyQt5
只需从matplotlib.backends.backend_qt5agg.FigureCanvasQTAgg类继承一个画布控件,然后就可以当成是 PyQt5 普通控件那样添加到图形界面即可。详情可参考如下例子:
用户6021899
2019/08/14
2.3K0
python通过Matplotlib绘制常见的几种图形
使用matplotlib对几种常见的图形进行绘制 Matplotlib官网 如果想了解更多可查看官网。 import numpy as np import matplotlib.pyplot as plt %matplotlib inline #写了这个就可以不用写plt.show() plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 plt.rcParams['axes.unicode_minus']=False #用来正常显示负号 X
Python研究者
2021/08/23
8590
matplotlib绘制图形基础
说明 plt.plot()可以直接绘制折线,其中marker是折线上的标记,linewidth是折线的宽度,label是图例,如果要想显示就要设置plt.legend(),linestyle是折线的风格,color是颜色
爱撒谎的男孩
2019/12/31
5420
图形渲染管线简介_渲染流水线和渲染管线
graphics rendering pipeline, 也被称为”the pipeline”,即图形渲染管线。
全栈程序员站长
2022/09/21
1.3K0
浅谈 GPU图形固定渲染管线
图形渲染管道被认为是实时图形渲染的核心,简称为管道。管道的主要功能是由给定的虚拟摄像机、三维物体、灯源、光照模型、纹理贴图或其他来产生或渲染一个二维图像。由此可见,渲染管线是实时渲染技术的底层工具。图像中物体的位置及形状是通过它们的几何描述、环境特征、以及该环境中虚拟摄像机的摆放位置来决定的。物体的外观受到了材质属性、灯源、贴图以及渲染模式(sharding modles)的影响。
Tencent JCoder
2022/05/06
2.3K0
浅谈 GPU图形固定渲染管线
【matplotlib】4-完善统计图形
在绘图区域中可能会出现多个图形,而这些图形如果不加以说明,观察者则很难识别出这些图形的主要内容。因此,我们需要给这些图形添加标签说明,用以标记每个图形所代表的的内容。方便观察者辨识,这个标签说明就是图例。 同样,如果观察者想要清楚地了解绘图区域中的内容。就需要给绘图区域添加文本内容用以说明绘图区域的主要内容,标题就可以让观察者清楚地知道绘图区域的核心信息和图标内容。
程序员小涛
2023/05/09
2.7K0
【matplotlib】4-完善统计图形
Python基础:使用Matplotlib绘制多个图形
Python的Matplotlib库是使用最广泛的数据可视化库之一。使用Matplotlib,可以使用各种图表类型绘制数据,包括折线图、条形图、饼图和散点图。
fanjy
2022/06/04
3.4K0
Python基础:使用Matplotlib绘制多个图形
Python使用matplotlib填充图形指定区域
本文代码重点在于演示Python扩展库matplotlib.pyplot中fill_between()函数的用法。 import numpy as np import matplotlib.pyplot as plt # 生成模拟数据 x = np.arange(0.0, 4.0*np.pi, 0.01) y = np.sin(x) # 绘制正弦曲线 plt.plot(x, y) # 绘制基准水平直线 plt.plot((x.min(),x.max()), (0,0)) # 设置坐标轴标签 plt.xla
Python小屋屋主
2018/04/16
3.1K0
Python使用matplotlib填充图形指定区域
matplotlib绘制常见统计图形(一)
之前的文章一图入门Matplotlib绘图中我们学习了matplotlib中常见图表元素的绘制方法,所有操作都通过可以调用plt的函数实现。本节继续来学习使用matplotlib中生成各种常见的统计图表。后台回复“统计图一”可以获取本文全部代码。
超哥的杂货铺
2020/07/27
1.7K0
浅谈 GPU图形固定渲染管线
图形渲染管道被认为是实时图形渲染的核心,简称为管道。管道的主要功能是由给定的虚拟摄像机、三维物体、灯源、光照模型、纹理贴图或其他来产生或渲染一个二维图像。由此可见,渲染管线是实时渲染技术的底层工具。图像中物体的位置及形状是通过它们的几何描述、环境特征、以及该环境中虚拟摄像机的摆放位置来决定的。物体的外观受到了材质属性、灯源、贴图以及渲染模式(sharding modles)的影响。
Tencent JCoder
2018/07/19
2.5K0
3D图形渲染管线
渲染简单的理解可能可以是这样:就是将三维物体或三维场景的描述转化为一幅二维图像,生成的二维图像能很好的反应三维物体或三维场景(如图1):
py3study
2020/01/14
1.8K0
3D图形渲染技术
将3D的点转换为2D的点之后,再用之前链接2D点的方法去连接这些点,这个叫做线框渲染
小柔
2022/12/01
1.8K0
3D图形渲染技术
【matplotlib】3-绘制统计图形
柱状图是描述统计中使用频率非常高的一种统计图形。它有垂直样式和水平样式两种可视化效果。这里我们主要介绍柱状图的应用场景和绘制原理。
程序员小涛
2022/12/28
2.1K1
【matplotlib】3-绘制统计图形
点击加载更多

相似问题

在较大的图形中嵌入matplotlib图形

11

调试器的渲染matplotlib图形

32

使用UIScrollView以编程方式放大较大图片的小区域

20

剪辑没有渲染?

13

将图像交换到较大图像的较小区域

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文