如何在 Jupyter 单元格中并排显示两个数字

das*_*fex 6 python jupyter-notebook

import pandas as pd
import seaborn as sns

# load data
df = sns.load_dataset('penguins', cache=False)

sns.scatterplot(data=df, x='bill_length_mm', y='bill_depth_mm', hue='sex')
plt.show()
sns.scatterplot(data=df, x='flipper_length_mm', y='body_mass_g', hue='sex')
plt.show()
Run Code Online (Sandbox Code Playgroud)

当我在 jupyter 中的一个单元格中用 seaborn 绘制两个图时,我得到以下视图:

在此处输入图片说明

我想并排绘制图,如下所示:

情节1 情节2

我该怎么做?

更新:

不是一个图形上的两个图,而是两个独立图形上的两个图。

  • 这不是正在寻求的解决方案,因为它是一个图形上的两个图。
fig, ax = plt.subplots(1,2)
sns.plotType(someData, ax=ax[0])  # plot1
sns.plotType(someData, ax=ax[1])  # plot2
fig.show()
Run Code Online (Sandbox Code Playgroud)
  • 来自建议的重复ipython notebook的解决方案水平排列图,不起作用
    • 选项 with%html导致数字在彼此之上绘制
    • 此外,其他选项用于ipython,而不是 Jupyter,或建议创建子图。

Tre*_*ney 7

  • 这可能是最简单的解决方案。其他解决方案可能涉及入侵 Jupyter 的后端环境。
  • 本题涉及并排显示两个图形。
    • 从代码单元中并排执行的两个单独的图形不起作用。
  • 您将需要创建单独的图形,并用于plt.savefig('file.jpg')将每个图形保存到文件中。
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# load data
df = sns.load_dataset('penguins', cache=False)

# create and save figure
sns.scatterplot(data=df, x='bill_length_mm', y='bill_depth_mm', hue='sex')
plt.savefig('bill.jpg')
plt.close()  # prevents figure from being displayed when code cell is executed

# create and save new figure
sns.scatterplot(data=df, x='flipper_length_mm', y='body_mass_g', hue='sex')
plt.savefig('flipper.jpg')
plt.close()  # prevents figure from being displayed when code cell is executed
Run Code Online (Sandbox Code Playgroud)
  • 将图形保存到文件后,可以通过将它们加载到 Markdown 单元格中并排显示它们。
    • 如果图像太大,第二个数字将换行。

在此输入图像描述

  • 然后执行单元格

在此输入图像描述