gpt4 book ai didi

python - matplotlib:从命令行运行 ipython 时在 Web 浏览器中顺序显示绘图

转载 作者:行者123 更新时间:2023-12-01 08:04:40 25 4
gpt4 key购买 nike

当前,我使用 pyplot 得到 3 个独立的窗口...我不想要...我希望在单个 Web 浏览器窗口中看到按顺序“内联”列出的所有绘图,类似于 jupyter 输出,除了我的输出作为 ipython 脚本从 Windows 命令行运行的脚本...

# File: plotit.ipy

# toy ipython plotting example
import numpy as np
import matplotlib.pyplot as plt
%matplotlib

t = np.linspace(0, 10, 100)
y1 = 5*t
y2 = -0.5*t
y3 = 2*t**2

# display as 1st inline graph in "jupyter web browser window"
plt.figure()
plt.plot(t,y1)
plt.show()

# display as 2nd inline graph in "jupyter web browser window"
plt.figure()
plt.plot(t,y2)
plt.show()

# display as 3rd inline graph in "jupyter web browser window"
plt.figure()
plt.plot(t,y3, '.')
plt.show()

这是我使用 ActiveState Python 3.6 从命令行运行它的方式:

C:\> ipython 
In [1]: %run testit.ipy
Using matplotlib backend: TkAgg

是否有一种方法可以将 Jupiter 文档转换为 ipython 脚本,并从命令行将其作为一个整体脚本运行,但 matplotlib 绘图仍然在绘制时按顺序在 jupyter 输出窗口中“内联”显示运行脚本时。示例:

最佳答案

我不知道是否可以在不实际运行的情况下模拟 jupyter 笔记本。

另一种选择是使用 webagg 后端。在这种情况下,仅在末尾放置一个 plt.show() 调用即可在同一页面上显示所有三个图形。

import numpy as np
import matplotlib
matplotlib.use("webagg")
import matplotlib.pyplot as plt


t = np.linspace(0, 10, 100)
y1 = 5*t
y2 = -0.5*t
y3 = 2*t**2

# display as 1st inline graph in "jupyter web browser window"
plt.figure()
plt.plot(t,y1)

# display as 2nd inline graph in "jupyter web browser window"
plt.figure()
plt.plot(t,y2)

# display as 3rd inline graph in "jupyter web browser window"
plt.figure()
plt.plot(t,y3, '.')
plt.show()

运行此程序时,应打开一个浏览器窗口,并显示三个数字

enter image description here

关于python - matplotlib:从命令行运行 ipython 时在 Web 浏览器中顺序显示绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55596873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com