我正在尝试使用熊猫从csv进行绘图,但是得到的图像对任何帮助都是空白。
def graph(request):
fig = matplotlib.figure.Figure()
ax = fig.add_subplot(111)
data_df = pd.read_csv(r"C:\Users\csvdata.csv")
data_df = pd.DataFrame(data_df)
data_df.plot(ax=ax)
canvas = FigureCanvas(fig)
buf = io.BytesIO()
plt.savefig(buf, format='png')
plt.close(fig)
response = HttpResponse(buf.getvalue(), content_type = 'image/png')
return response
答案 0 :(得分:1)
我们当然无法知道csv文件的内容,因此无法知道是否正确读取了该文件。但是假设是这样,问题是您正在使用pyplot保存尚未在pyplot中注册的图形。
您可以将pyplot用作
fig = plt.figure()
ax = fig.add_subplot(111)
data_df = pd.read_csv(r"C:\Users\csvdata.csv")
data_df.plot(ax=ax)
buf = io.BytesIO()
plt.savefig(buf, format='png')
plt.close(fig)
或创建没有pyplot的图形,但同时也不要使用pyplot保存它
fig = matplotlib.figure.Figure()
canvas = FigureCanvas(fig)
ax = fig.add_subplot(111)
data_df = pd.read_csv(r"C:\Users\csvdata.csv")
data_df.plot(ax=ax)
buf = io.BytesIO()
fig.savefig(buf, format='png')