python - 在使用 seaborn 绘图分配斧头对象时遇到问题

标签 python matplotlib seaborn

我无法让这样的事情发挥作用:

def make_plots(data, ax):
    sns.lineplot(data,..., ax=ax)
    sns.scatterplot(data, ...., ax=ax)
    return ???

fig, ax = plt.subplots()
for i in range(5):
    make_plot(data[i], ax)
plt.savefig("all5runs.png")

所以我有一个函数可以绘制线图和散点图,希望在同一轴上。我想将所有 5 次运行的数据保留在一张图上,然后保存该图。我确定 make_plots() 应该返回什么,或者我是否正确传递了图形数据。我怎样才能做到这一点?

编辑:目前,我只是在 all5runs.png

中得到一个空白 Canvas

最佳答案

IIUC,您需要这样的东西:由于 ax 是使用全局范围定义的,并作为参数传递给函数,因此更改将在每次 for 循环调用期间更新

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

def make_plots(x, y, ax):
    sns.lineplot(x, y, ax=ax)
    sns.scatterplot(x, y, ax=ax)
    return 

fig, ax = plt.subplots()

for i in range(5):
    x = np.arange(5)
    make_plots(x, x*(i+1), ax)
# plt.show() # Uncomment for showing the figure
plt.savefig('all5runs.png')    

enter image description here

关于python - 在使用 seaborn 绘图分配斧头对象时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56553045/

相关文章:

python - 如何将引导脚本添加到 tox 的 virtualenv?

python - 如何使用条形图绘制最小/最大条形图

python - 在背景图片上绘制 seaborn 热图

python - 如何使用 Python 解析无限滚动页面(例如 Wallbase.cc/search/sky)?

python - 如何从没有标识符的 <td> 属性中仅提取网络中的数字(by beautiful soup)

python - 尝试在 python 中获取对象类型时出错

matplotlib - Matplotlib-在LateX表达式中使用变量

python - Matplotlib FuncAnimation 只绘制一帧

python - 如何使用特殊设计的 matplot lib 在 python 中绘制条形图

python - 多指标箱线图