当前位置: 首页 > 面试题库 >

停止Seaborn在彼此之上绘制多个图形

朱刚捷
2023-03-14
问题内容

我开始学习一些用于数据分析的python(使用R)。我正在尝试使用创建两个图seaborn,但它始终将第二个保存在第一个上。如何停止这种行为?

import seaborn as sns
iris = sns.load_dataset('iris')

length_plot = sns.barplot(x='sepal_length', y='species', data=iris).get_figure()
length_plot.savefig('ex1.pdf')
width_plot = sns.barplot(x='sepal_width', y='species', data=iris).get_figure()
width_plot.savefig('ex2.pdf')

问题答案:

为此,您必须开始一个新的图形。假设您有,有多种方法可以做到这一点matplotlib。也摆脱它,get_figure()您可以plt.savefig()从那里使用。

方法1

采用
plt.clf()

import seaborn as sns
import matplotlib.pyplot as plt

iris = sns.load_dataset('iris')

length_plot = sns.barplot(x='sepal_length', y='species', data=iris)
plt.savefig('ex1.pdf')
plt.clf()
width_plot = sns.barplot(x='sepal_width', y='species', data=iris)
plt.savefig('ex2.pdf')

方法2

plt.figure()每个人之前致电

plt.figure()
length_plot = sns.barplot(x='sepal_length', y='species', data=iris)
plt.savefig('ex1.pdf')
plt.figure()
width_plot = sns.barplot(x='sepal_width', y='species', data=iris)
plt.savefig('ex2.pdf')


 类似资料:
  • 使用matplotlib时,我可以使用{importmatplotlib.pyplotas plt}因为我使用Tkinter,所以我也会使用PicreCanvasTkAgg来做同样的事情 有人能帮我在如何实现matplotlib的停顿效果在菲格勒CanvasTkAgg。

  • 我正在尝试将标签添加到我的lm图中的每个数据点。我想通过索引标记每个数据点。现在我的代码如下: 这会将所有标签绘制到最后一个绘图上。 带标签的lmplot 我尝试使用整个图形而不是当前轴来标记点(ddf.target、ddf.source、ddf.chip、plt.gcf()),但它抛出了一个错误。

  • 问题内容: 我有多个透明实例,我想彼此叠加(也称为Photoshop层)并烘焙成一个输出。我该怎么做呢? 问题答案: 我会说最好的选择是拍摄缓冲的图像,并创建一个附加图像,以便将一个对象附加到该图像上。然后,只需使用Graphics.drawImage()将它们放置在彼此的顶部。 因此,遵循以下原则:

  • 我正在制作一个类似飞鸟的飞机游戏,在一个类中,我有移动的背景,然后我将其添加到主jPanel中,它在自己的类中,在另一个类中,我有玩家,我将其添加到主jPanel中。但是,当我将第二个类添加到JPanel时,我添加的第一个类将消失。这是我的背景课: 这是我的平面类:导入java.awt.图形;导入java.awt.event.动作事件;导入java.awt.event.动作监听器;导入java.a

  • 我想在一个图像上手动绘制多个区域来创建一个绘制区域的二进制掩码(地面真相)。 我附加了一个代码,使用Emfreehand来完成一个区域的工作,但一旦释放鼠标按钮,该区域的二进制掩码就会显示出来。有没有一种方法可以绘制多个区域,然后显示二进制掩码?(多次调用Emfreehand可能不起作用,因为每个图像的区域数不同)。 多谢了。

  • 问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 6年前关闭。 改善这个问题 我想用Java绘制图形(节点和边)。但是,由于我不知道该怎么做,因此在开始之前我想寻求一些建议。 我应该怎么做? 使用Graphics2D包,对吗? 节点的标签怎么样?我应该使用诸如drawString之类的东西并手动处理所有“