Google Colab 中的交互式 matplotlib 图形

2024-01-19

通常在 jupyter 笔记本中我会使用%matplotlib notebook显示交互式窗口的魔法,但这似乎不适用于 google colab。有没有解决方案,或者无法在 google colab 中显示交互式窗口?


下面是创建交互的示例iplot()在情节和cufflinks()在 Google Colab 笔记本上。答案中使用的功能和建议 [1 https://stackoverflow.com/questions/47230817/plotly-notebook-mode-with-google-colaboratory, 2] https://colab.research.google.com/drive/14oudHx5e5r7hm1QcbZ24FVHXgVPD0k8f

关键似乎是包括configure_plotly_browser_state()在进行绘图的单元格中。

下面的代码应该可以工作:

导入库

import datetime
from datetime import date
import pandas as pd
import numpy as np
from plotly import __version__
%matplotlib inline

import plotly.offline as pyo
import plotly.graph_objs as go
from plotly.offline import iplot

import cufflinks as cf
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot 


cf.go_offline()

将笔记本设置为 false

init_notebook_mode(connected=False)

为 Colab 创建函数复制自: [1 https://stackoverflow.com/questions/47230817/plotly-notebook-mode-with-google-colaboratory, 2] https://colab.research.google.com/drive/14oudHx5e5r7hm1QcbZ24FVHXgVPD0k8f

def configure_plotly_browser_state():
  import IPython
  display(IPython.core.display.HTML('''
        <script src="/static/components/requirejs/require.js"></script>
        <script>
          requirejs.config({
            paths: {
              base: '/static/base',
              plotly: 'https://cdn.plot.ly/plotly-latest.min.js?noext',
            },
          });
        </script>
        '''))

注意:使用plotly: 'https://cdn.plot.ly/plotly-latest.min.js?noext'确保使用最新版本的 Plotly。还可以通过使用例如来指定plotly的版本plotly: 'https://cdn.plot.ly/plotly-1.5.1.min.js?noext'.

创建示例数据框

数据来源:国家气象局提供的佐治亚州桃树市的年度降雨量数据[3] https://www.weather.gov/ffc/rainfall_scorecard.

df = pd.DataFrame({
    'month': ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
    'Year_2018': [3.26, 6.11, 4.86, 6.53, 4.45, 3.86, 8.04, 7.59, 1.48, 4.75, 7.27, 11.83],
    'Year_1996': [8.26, 3.82, 6.42, 2.91, 2.12, 1.70, 2.14, 4.66, 4.32, 0.89, 3.22, 4.14]
}
)
df

创建交互式 iplot

configure_plotly_browser_state()
df.iplot(kind='line',x='month',y=['Year_2018', 'Year_1996'], color=['white', 'gold'], 
theme='solar', mode='markers+lines',title='Annual Rainfall in the city Peachtree City, GA')

Output: Output

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Colab 中的交互式 matplotlib 图形 的相关文章

随机推荐

  • 如何使用gradle在Android Studio中导入远程库?

    我正在尝试导入 android swipelistview https github com 47deg android swipelistview https github com 47deg android swipelistview
  • C# 中的不可变类型和属性

    C 中的不可变类型和不可变属性是什么意思 你能举个简单的例子吗 不可变类型是其属性只能在初始化时设置的类型 一旦创建了对象 就无法再更改任何内容 不可变属性只是只读属性 在下面的示例中 ImmutableType是一种具有一个属性的不可变类
  • SQL服务器T-SQL语句

    我有一个表 其名称 UserData 及其包含一个列名称 用户信息 UserInfo 列包含以下值 例如 演示 acc in 瑞士网 澳大利亚大学教育网 我想从中提取以下信息 Output demo swiss austa 预先感谢您的帮助
  • cmake 中 -D 选项中的间距

    D CMAKE C COMPILER是我用来选择编译器的 但是 如果我有打开 关闭的 CMake 选项 例如USEIPHONEFLAG 我需要去做 DUSEIPHONEFLAG 1 D USEIPHONEFLAG 1不起作用 我想知道之后的
  • 如何从相机获取全尺寸位图?

    我已经使用意图来启动相机 Intent cameraIntent new Intent android provider MediaStore ACTION IMAGE CAPTURE getParent startActivityForR
  • 设置当前代理设置

    I used SCDynamicStoreCopyProxies检索代理信息 我希望一旦有了字典 我就能够设置当前的代理设置 结果发现字典返回的是SCDynamicStoreCopyProxies是只读的 如何更改当前的代理设置 到目前为止
  • Win8 是否也为旧版应用程序添加了内置拼写检查器?

    根据MSDN http msdn microsoft com en us library windows desktop hh869748 28v vs 85 29 aspx 在 Windows 8 中 内置拼写检查来编辑控件 好吧 我在我
  • 根据 WooCommerce 中的自定义字段值将文本添加到订单摘要

    我已成功将自定义字段添加到我的 WooCommerce 结帐页面 该字段是客户可以选择从中提取商品的不同商店的选择器 目前 它在结帐页面上显示此字段 我正在使用 jQuery 在选择器下方添加信息并相应地更新运费 接下来我需要做的是在客户的
  • iOS 崩溃:未加载库 mremap_encrypted

    应用程序审查团队说我的应用程序总是在启动时崩溃 他们给了我一些崩溃日志 如下所示 Dyld Error Message Dyld Message Library not loaded rpath RestKit framework Rest
  • 打印二维列表的Pythonic方法——Python

    我有一个这样的二维字符列表 a 1 2 3 4 5 6 7 8 9 将列表作为整个块打印的最 Pythonic 方法是什么 IE 没有逗号或括号 123 456 789 有很多方法 大概是一个str join的映射的str joins gt
  • 判断不定冠词的Javascript库

    是否存在用于确定名词的不定冠词 a 与 an 的 JavaScript 库 我可以从一个简单的正则表达式开始 如下所示 var pattern aeiou i pattern test umbrella 但这不能处理像这样的情况 user
  • int foo = foo 的标准参考

    int foo foo 编译 C 标准的哪一部分允许这样做 3 3 1 声明点 basic scope pdecl 名称的声明点紧接在其完整声明符 第 8 条 之后和其初始值设定项 如果有 之前 如果声明位于文件范围内 则行为已明确定义 如
  • 如何放心地比较\断言双值

    我正在尝试将 JSON 中的 assert double 与java 原始double 值进行比较 正确的做法是什么 我用简单而常规的方式来做到这一点 使用Matchers equalTo方法见下文 public class A priva
  • Java:相当于Python的范围(int,int)?

    Java 有与 Python 相当的东西吗range int int method 老问题 新答案 针对 Java 8 IntStream range 0 10 forEach n gt System out println n 或使用方法
  • C++ 中的线程安全单例实现

    以下是 C 中单例模式的一个众所周知的实现 但是 我不完全确定它是否是线程安全的 根据之前对类似问题的回答 它似乎是线程安全的 是这样吗 Curiously Recurring Template Pattern Separates a cl
  • SQL 仅当所有行都满足条件时才选择行

    我对 SQL 还很陌生 虽然我可以编写大部分查询 但在这个方面我一无所获 我想在可以使用 JPA 执行的单个查询中实现此目的 TABLE RULE RULE ID ENABLED 1 0 2 0 3 0 4 1 5 1 TABLE MISC
  • PHP - cookie 变量和会话变量的有趣行为

    我在下面写了一个 PHP 脚本来演示我的问题 像这样运行下面的代码 http localhost test php test 10 http localhost test php test 10 然后运行http localhost tes
  • 如何从 Haskell 中的字符串中提取所有数字?

    所以基本上 假设我有一个 String W2932 B23829 W29 如何提取所有数字以便我有一个列表 2932 23829 29 遗憾的是还没有在 SO 或 google 上找到任何解决方案 我考虑过检查字符串的每个字符是否为数字 然
  • 如何在 Rails 的页面中执行操作而不渲染新页面

    在我的 Rails 应用程序中 我尝试添加一个联系人用户弹出框 用于向用户发送电子邮件 我有 javascript 来显示弹出表单 它本身就是一个部分 当用户单击联系表单上的 提交 时 它会调用发送邮件的控制器操作 提交消息后 我想留在同一
  • Google Colab 中的交互式 matplotlib 图形

    通常在 jupyter 笔记本中我会使用 matplotlib notebook显示交互式窗口的魔法 但这似乎不适用于 google colab 有没有解决方案 或者无法在 google colab 中显示交互式窗口 下面是创建交互的示例i