错误保存图消息灵通的

2024-10-01 09:32:48 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,我不得不说,我是Python(以及编程本身)的真正初学者,所以这可能是个愚蠢的问题,但我找不到解决方案。在

我从3个不同的.csv文件加载数据,然后进行一些计算,最后我想保存3个热图。我的问题是存钱。当我使用plt.savefig('whatever.jpg')时,它显然只保存了循环中的最后一个热图。我试着把它改成plt.savefig('{}.jpg'.format(i)),但是我遇到了一个错误,我不知道如何修复。如果有任何提示,我将不胜感激!(Python3来自水蟒)

import seaborn as sns
import pandas as pd 
import matplotlib.pyplot as plt
%matplotlib inline

instrumenty = ['gold','sp500','dax']

for i in instrumenty:

    i = pd.read_csv(i+'_m.csv', sep=',')
    i['Miesiąc'] = pd.DatetimeIndex(i['Data']).month
    i['Rok'] = pd.DatetimeIndex(i['Data']).year
    i['Zmiana']=i['Zamkniecie'].pct_change()
    i_pt = i[1:].pivot_table(index='Rok',columns='Miesiąc',values='Zmiana')
    sns.heatmap(i_pt, linewidths=1, cmap='PiYG')
    plt.savefig('{}.png'.format(i))
    plt.clf()

错误是:

^{pr2}$

即使没有保存图我做错了什么,因为结果是one strange chart with 3 legends而不是3张图表。在


Tags: csvimportformatmatplotlibas错误pltpd
1条回答
网友
1楼 · 发布于 2024-10-01 09:32:48

您可以在此处重写i

instrumenty = ['gold','sp500','dax']
for i in instrumenty:
    i = pd.read_csv(i+'_m.csv', sep=',')

最好使用name

^{pr2}$

这是重要的部分:

plt.savefig('{}.png'.format(name))

相关问题 更多 >