plt.save在循环内写入数据

时间:2018-02-02 09:50:17

标签: python pandas loops matplotlib

我有一个很长的脚本,它在不同文件的循环中运行。我在脚本中遇到了save.fig命令的问题。虽然它使用单个文件名保存图形,但是总是用最后一个循环中的数据覆盖绘图数据,所以例如我最终会将文件1放到file100.png,但每个文件看起来都是一样的。

这是脚本的plt.figure部分,任何人都可以告诉我出了什么问题?

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1, projection='radar')
ax.plot(theta+(lk<0.0)*np.pi, np.abs(lk), color='r')
ax.plot(theta+(rk<0.0)*np.pi, np.abs(rk), color='b')
ax.set_theta_offset(pi / 1)
ax.set_theta_direction(-1)
ax.set_rlabel_position(90)
ax.set_varlabels(labels)
for label in ax.get_xticklabels()[::2]:
    label.set_visible(False)
plt.axvline(theta[mdpl], color='r')
plt.axvline(theta[opp_dpl], color='r')
plt.axvline(theta[mdpr], color='b')
plt.axvline(theta[opp_dpr], color='b')
idx = np.argwhere(np.diff(np.sign(lk - rk)) != 0).reshape(-1) + 0
plt.plot(theta[idx], lk[idx], 'ro')
plt.savefig('{}.png'.format(name))
plt.show()
plt.clf()

代码首先将CSV导入数据帧,然后设置输出目录和名称:

output_dir = r'C:\\path'
for name, df in zip(allfiles, listofdf):
df.to_csv(os.path.join(output_dir, name+ 'csv'), index=False)

然后循环开始

for df in listofdf:

缩进通过情节部分维持。

0 个答案:

没有答案