问题。 如何使用 ipywidgets 从 matplotlib 图中制作网格(或其他类似布局)?
我的尝试的描述。 我想要两个图,每个女巫都在单独的 matplotlib 图上。我希望将它们转换为 ipython 小部件并以这样的方式排列:一个图位于右侧,另一个图位于左侧,但我得到两个图,其中第一个图位于第二个图的顶部。 我尝试使用 HBox 和 TwoByTwoLayout。
我的代码。
import matplotlib.pyplot as plt
import ipywidgets as widgets
output = widgets.Output()
output1 = widgets.Output()
with output:
with plt.style.context("ggplot"):
fig = plt.figure(figsize=(4,4))
plt.plot([1,2,3], [4,5,6]);
with output1:
with plt.style.context("ggplot"):
fig = plt.figure(figsize=(4,4))
plt.plot([1,2,3], [1,8,5]);
widgets.HBox([output1,output])
from ipywidgets import TwoByTwoLayout
TwoByTwoLayout(top_left=output,top_right=output1)
我尝试使用的一些来源。 以下是一些我未能将其合并到我的代码中的示例。
附注 我不是程序员,而是试图可视化一些数据的化学家。所以我希望代码尽可能简单。
我自己找到了答案。
我的代码。
%matplotlib widget
import matplotlib.pyplot as plt
import ipywidgets as widgets
with plt.ioff():
fig1 = plt.figure()
im1 = plt.scatter([1,2,3],[4,3,1])
with plt.ioff():
fig2 = plt.figure()
im2 = plt.scatter([2,4,3],[1,6,5])
display(widgets.HBox([fig1.canvas, fig2.canvas]))