我在使用matplotlib的funcanimation类时,为了画等高线图随时间变化用了colorbar,虽然图是第二幅覆盖第一副的,满足要求,但是colorbar确并没有被覆盖,而是生成并堆起来了。我想请问一下matplotlib的画图机制是默认覆盖还是在原图上加,如果要修改这种状态该怎么办。还有就是这种堆叠起来的colorbar应该怎么写才能正常?谢谢各位>o<
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已结题
matplotlib的有类似于matlab的hold on,hold off功能吗
收起
- 写回答
- 好问题 1 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除
- 收藏 举报
2条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
zmy1127 2023-02-14 01:02关注Matplotlib 有类似于 Matlab 的 hold on/off 功能,可以在当前图上绘制多个图像,而不是重新绘制整个图。你可以通过调用pyplot模块中的hold()函数来实现这一功能。
import matplotlib.pyplot as plt plt.hold(True) plt.plot(x, y1, 'r') plt.plot(x, y2, 'b') plt.hold(False) plt.show()
默认情况下,Matplotlib 每次绘制图形都将重新绘制图形,以便每次绘制的图形都是最新的。如果你想在原图上加图,就需要调用hold()函数,使其处于“hold on”状态。
对于图上生成的colorbar,如果每次都生成一个新的colorbar,那么就会有多个colorbar叠在一起。为于解决这个问题,你可以在生成colorbar前先判断是否存在colorbar,如果存在,就不再生成新的colorbar,而是使用原来的colorbar。你可以使用pyplot模块中的clf()函数(clear figure)来清空图形,以便重新绘制新的图形,或者在生成新的图形前调用hold()函数,以便在原图上绘制新的图形。
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 2无用 6举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2021-06-01 14:23回答 1 已采纳 这样改写一下: import matplotlib.pyplot as plt import numpy as np plt.rcParams['font.sans-serif'] = ['Sim
- 2018-11-02 05:58回答 2 已采纳 找到了。。原来anaconda安装没激活TensorFlow,单纯的把包复制过去不行。。
- 2021-09-26 09:52回答 1 已采纳 你好,pandas数据进行sort,你只需要对x进行sort,y不需要的 import pandas as pd from matplotlib import pyplot as plt d = {
- 2020-12-21 17:25weixin_39726408的博客 hold on 使当前轴及图形保持而不被刷新,准备接受此后将绘制的图形,多图共存hold off 使当前轴及图形不在具备被刷新的性质,新图出现时,取消原图hold on 在当前图的轴(坐标系)中画了一幅图,再画另一幅图时,原来...
- 2022-04-15 02:29回答 2 已采纳 我感觉是你之前写错了,label写成了lable,你贴的代码更新正确了,但是你报的错还是旧的,你重编译下咋的
- 2022-11-03 03:44回答 4 已采纳 可以试试低版本的 matplotlib pip install matplotlib==3.0.3
- 2021-10-12 12:07回答 1 已采纳 等高线图也被称为等值线图,是一种在二维平面上显示三维表面的方法。Matplotlib API 提供了两个等值线图的绘制方法:contour( ) 函数用于绘制带轮廓线的等值线图,contourf( )
- 2017-11-19 08:18吴小风风的博客 hold ON holds the current plot and all axis properties, including the current color and linestyle, so that subsequent graphing commands add to the existing graph without resetting the
- 2022-05-06 02:08回答 1 已采纳 看看你的代码 plot(t1, strain1, 'k-'); hold on; plot(t2, strain2, 'k-'); hold on; plot(t3, strain3, 'k-');
- 2023-01-01 17:28回答 2 已采纳 你要对x轴也用字体文件,修改后的代码如下 import matplotlib.pyplot as plt # 设置字体,解决中文乱码问题 import matplotlib.font_manager
- 2020-07-10 18:38回答 2 已采纳 有个叫kite的东西可以试一下
- 2023-03-04 17:05slandarer的博客 本期讲有一些绘图时正负部分需要分开赋予颜色,这时候双向colormap的中心对应的可能并不是数值0,该咋办,就比如下面的情况: 事先说明,为了绘图好看,本文中全部示例都在代码最后用了以下这个简单函数进行修饰: ...
- 2023-07-15 04:06- `hold on`/`hold off`:控制是否在当前图上叠加新的图形。 3. **3D图形** - `surf(X, Y, Z)`:绘制3D曲面图,X, Y, Z是定义表面的矩阵。 - `plot3(x, y, z)`:绘制3D线条图。 - `scatter3(x, y, z)`:生成3D...
- 2022-11-06 11:34slandarer的博客 示例图片 前言 众所周知,MATLAB中的colormap只有少得可怜的几种: 有很多应用在很特殊的图形中的colormap几乎都没有,而每次写代码都要去找颜色图属实太麻烦,因此就有了开发集成包的想法,我之前出过一篇使用...
- 2022-11-30 14:12嵌入式职场的博客 【MATLAB】绘制向量场。
- 没有解决我的问题, 去提问
问题事件
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司