python - 使用 Matplotlib savefig 动态命名
问题描述
我有一个带有一些列的df,我正在使用这样的循环创建二元图:
for col in df.columns[2:len(df.columns)]:
sns.factorplot(x='xvar', y=col, data=df)
sns.despine(offset=10, trim=True)
plt.show()
plt.clf()
plt.close()
我不想显示所有图,而是使用命名约定 [xaxis]_y[axis].png 保存它们。但是,我不确定如何通过 plt.savefig() 传递超过 1 个项目,其中一个项目每次都会更改。我已经看到了一些依赖列表(1、2)的答案,但我希望有一种方法可以实现相同的结果,而无需创建要通过的列表。
解决方案
由于python 3.6
您可以使用f-strings
动态格式化字符串:
for col in df.columns[2:]:
sns.factorplot(x='xvar', y=col, data=df)
sns.despine(offset=10, trim=True)
plt.savefig(f'xvar_{col}.png')
推荐阅读
- c# - 在 Windows 启动时强制 ClickOnce 应用程序更新?
- javascript - 如何使用 JS 向 body 添加一个类?
- android - 如何在特定片段中隐藏底部导航栏(底部导航栏活动)
- ios - 如何同时拥有两个标签,一个可以生长,一个不能?
- android - 应用recyclerviewer时工具栏消失
- firebase - 在不同的父母 Firebase 中添加相同的子对象
- javascript - 自然排序数组
- excel - VBA Workbook.Open 运行时错误“91”
- java - 如何在不重新启动应用程序的情况下在 recycleview 中显示文本?
- java - 在一系列设定的方向上移动对象