Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Matplotlib图未使用ipywidgets滑块进行更新

Matplotlib图未使用ipywidgets滑块进行更新
EN

Stack Overflow用户
提问于 2021-02-02 05:37:30
回答 2查看 1.2K关注 0票数 2

我有以下代码来生成一个简单的图形。

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

x = np.linspace(0, 2 * np.pi)
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
line, = ax.plot(x, np.sin(x))

def update(w = 1.0):
    line.set_ydata(np.sin(w * x))
    plt.show()

interact(update)

代码可以很好地生成图- output

但当我拖动滑块时,图形不会更新。你知道为什么会这样吗?

EN

回答 2

Stack Overflow用户

发布于 2021-02-05 17:29:14

注意:你的代码实际上是开箱即用的,所以更新你的依赖项可能是值得的,看看这样做是否能修复它。

但是,您想要更改的主要内容是调用fig.canvas.draw()而不是plt.show()

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

x = np.linspace(0, 2 * np.pi)
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
line, = ax.plot(x, np.sin(x))

def update(w = 1.0):
    line.set_ydata(np.sin(w * x))
    fig.canvas.draw()

interact(update)

使用Ipympl

还有一个基于widget的notebook后端(也可以在jupyterlab中使用):ipympl,可以与pip install ipympl一起安装,也可以与%matplotlib ipympl一起使用

一般来说,ipympl后端将比notebook后端更好地与其他小部件协同工作。

结合使用interactive和matplotlib

interactive的一个不幸的结果是,它假设每次滑块值发生变化时,输出都会完全重新生成。这并不总是与您正在使用的set_data方法配合得非常好。因此,您最好手动生成并连接滑块。我还会注意到,我已经编写了一个包,该包使用set_data命令自动将小部件连接到更新matplotlib plots:https://mpl-interactions.readthedocs.io/en/stable/。使用该包,您的代码将是

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

x = np.linspace(0, 2 * np.pi, 1000)
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)

def f(x, w):
    return np.sin(w * x)

controls = iplt.plot(x, f, w=(1, 10))
票数 3
EN

Stack Overflow用户

发布于 2021-02-05 14:40:14

这会起作用的。

代码语言:javascript
运行
AI代码解释
复制
# load the interactive tool
from ipywidgets import interact, interactive, widgets, fixed
try:
    from ipywidgets import Layout
except:
    pass 

import numpy as np
import matplotlib.pyplot as plt
%matplotlib notebook

def fta(freq = 50.0):
    "showing sine frequency"
    y = np.sin(freq*x)
    f, ax1 = plt.subplots(nrows=1,figsize=(8,6))
    ax1.plot(x[0:100], y[0:100],'b')
    ax1.set_ylim(ymin=-1.1, ymax=1.1)
    ax1.grid();
    # then use it interactively,
interactive( fta, freq=(0.0,100.0))

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

https://stackoverflow.com/questions/66004177

复制
相关文章
使用Matplotlib制作动图
我们可以使用Matplotlib的animation模块的FuncAnimation类制作动画,你需要提供的只是一个动态更新变化数据的函数。 下面是一个最基本的例子:
卡尔曼和玻尔兹曼谁曼
2019/01/22
9800
使用Matplotlib制作动图
Jupyter notebook最简原型界面设计 - ipywidgets与lineup_widget
Tkinter的GUI设计 和 django页面设计,那么笔者只是想快速做个demo原型,以上的内容能不能结合着来,有一些简单的交互 + web可以快速访问的到,于是就看到了jupyter notebook这两个库,非常简单的玩具,来看看呗~ ipywidgets比较强调输入项的各式花样,但是其对输出内容的格式的花样非常少。
悟乙己
2019/05/27
3.1K0
Jupyter Notebook已出现“返祖现象”,这款工具让你在终端里使用它
Jupyter Notebook,一般都是在网页上使用,可是你想过它有一天也可以在命令行中运行吗?
量子位
2021/05/11
7240
Jupyter Notebook已出现“返祖现象”,这款工具让你在终端里使用它
新编辑神器,可以在终端运行 Jupyter Notebook 了!
在我初学Python的时候,一直惯用着安装式的编辑器软件,比如PyCharm和Spyder。并且,一直以为编辑器都是这种形式的,有的区别只是体验和功能上的差异。
Python数据科学
2021/05/11
1.7K0
Python使用matplotlib画动态图
机器学习需要使用python实现相应的算法,因此学习了Matplotlib中的画图。
里克贝斯
2021/05/21
3.9K0
Python使用matplotlib画动态图
Python+matplotlib绘制动态更新的柱状图
问题描述:编写程序,生成测试数据,绘制水平柱状图,然后每隔0.5秒更新一次数据并实时根据最新数据绘制水平柱状图。
Python小屋屋主
2019/05/07
4.8K0
Python+matplotlib绘制动态更新的柱状图
新编辑神器,可以在终端运行 Jupyter Notebook 了!
在我初学Python的时候,一直惯用着安装式的编辑器软件,比如PyCharm和Spyder。并且,一直以为编辑器都是这种形式的,有的区别只是体验和功能上的差异。
崔庆才
2021/05/17
1.8K0
新编辑神器,可以在终端运行 Jupyter Notebook 了!
matplotlib 饼图
饼图用来显示展示数据的比例分布特征。matplotlib 中 使用 pie() 函数来绘制饼图。
用户6021899
2019/08/14
1.7K0
matplotlib 雷达图/蛛网图
第一个例子来自matplotlib官网,封装比较多,看起来有点复杂,但本质上是在极坐标系下画封闭的曲线图。
用户6021899
2019/08/14
2.1K0
使用交互组件(ipywidgets)“盘活”Jupyter Notebook(上)
传统上,每次需要修改笔记本单元格的输出时,都需要更改代码并重新运行受影响的单元格。这可能很繁琐、低效甚至容易出错,对于非技术用户来说,甚至是不切实际的。这就是ipywidgets发挥作用的地方:它们可以嵌入到笔记本中,并提供一个用户友好的界面来收集用户输入并查看更改对数据/结果的影响,而不必与代码交互;你的笔记本可以从静态文档转换为动态仪表盘——非常适合显示你的数据故事!
AiTechYun
2019/05/15
13.9K1
使用交互组件(ipywidgets)“盘活”Jupyter Notebook(上)
使用Matplotlib & Cartopy绘制我国台风路径图
之前在公众号做过一个关于我国1945~2015年历史台风统计的可视化展示,发现很多有趣的数据,比如说台风登陆最多的城市是湛江。
朱卫军 AI Python
2022/04/03
3.1K1
使用Matplotlib & Cartopy绘制我国台风路径图
matplotlib 误差棒图
matplotlib中使用errorbar()绘制误差棒图来表示被测量的误差范围。
用户6021899
2019/08/14
1.9K0
一图搞定Matplotlib!
今天给大家分享一位GitHub大神制作的Matplotlib cheat sheet,直接看图⬇️
统计学家
2020/05/20
4230
一图搞定Matplotlib!
【Python进阶】带你使用Matplotlib进行可视化
欢迎来到专栏《Python进阶》。在这个专栏中,我们会讲述Python的各种进阶操作,包括Python对文件、数据的处理,Python各种好用的库如NumPy、Scipy、Matplotlib、Pandas的使用等等。我们的初心就是带大家更好的掌握Python这门语言,让它能为我所用。
用户1508658
2019/08/06
1.3K0
matplotlib 常用图绘制
通过做图表来分析数据实在是一个非常棒的方法,由于我偶尔忘记语法,还得翻之前的笔记,难受。下面就画了些常用的图,记一记,记一记。
AngelNH
2020/04/16
8950
Matplotlib 气球图 制作
Matplotlib 制作稍带“艺术”的可视化作品,ggplot2 基于其优秀绘图图层设置及多种拓展绘图包可以较为灵活的完成此类任务,但Matplotlib也不是完全不可以,本期推文用python经典的绘图包Matplotlib进行“气球”图(通过图形合理搭配实现)的绘制,主要涉及Matplotlib 散点图(sactter())及 线 vlines()、mlines()及PatchCollection()等的灵活应用。上期推文预告的效果图在文末的代码链接(notebook)中 也会有绘制方法,本期推文为完善版本
DataCharm
2021/02/22
2.1K0
Matplotlib 气球图 制作
matplotlib基础:使用GridSpec自定义子图
指定绘制子图的网格形状,同时要设置绘制子图的行列数。当然也可以调整子图的布局(如 left,right等)。
bugsuse
2020/04/21
4.4K0
matplotlib基础:使用GridSpec自定义子图
你知道Jupyter notebook还可以用来做 “视频聊天室” 吗?
Ipywidgets在Jupyter生态系统中扮演着重要角色,它带来了用户和数据之间的互动。小工具组件是多种的Python对象,通常在Jupyter Notebook或JupyterLab中具有可视化表示:按钮,滑块,文本输入,复选框等。
Python数据科学
2018/12/17
2K0
你知道Jupyter notebook还可以用来做 “视频聊天室” 吗?
python matplotlib 动态图_matplotlib怎么读
默认情况下,在pycharm中用matplotlib绘制的图形在窗口内,是静态的:
全栈程序员站长
2022/09/27
9780
python matplotlib 动态图_matplotlib怎么读
手把手教你使用Matplotlib绘制动图
本帖我们目的只有一个,复现下面视频展示的内容,即中国(上证)和美国(标普 500)2016 年 3 月到 2020 年 4 月的故事走势对比。先点开视频看一看,配着 Fort Minor 的 Remember the Name 的前奏真带感。
石晓文
2020/04/18
1.7K0

相似问题

未显示滑块(ipywidgets)

163

使用matplotlib中的滑块更新条形图

07

Python Matplotlib滑块小部件未更新

11

当滑块更新matplotlib时,图不刷新

116

让ipywidgets更新folium热图?

131
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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