为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Jupyter 单元格中并排显示两个图形

如何在 Jupyter 单元格中并排显示两个图形

白板的微信 2023-10-06 16:23:55
import pandas as pdimport seaborn as sns# load datadf = 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()当我在 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()建议的重复ipython 笔记本中的解决方案水平排列绘图,不起作用选项 导致%html图形彼此重叠绘制此外,其他选项适用于ipython,而不是 Jupyter,或建议创建子图。
查看完整描述

1 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

这可能是最简单的解决方案。其他解决方案可能涉及入侵 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

将图形保存到文件后,可以通过将它们加载到 Markdown 单元格中并排显示它们。

如果图像太大,第二个数字将换行。

https://img1.sycdn.imooc.com//651fc46a0001a12a04250099.jpg

  • 然后执行单元格


https://img1.sycdn.imooc.com//651fc47b0001ce1006500195.jpg

查看完整回答
反对 回复 2023-10-06
  • 1 回答
  • 0 关注
  • 81 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信