1
爲什麼我在matplotlib.pyplot中獲取ValueError?這裏是我的代碼:在matplotlib.pyplot.savefig()中獲取帶有字符串格式的ValueError文件名參數
import matplotlib.pyplot as plt
plt.plot([1,2,3,4,5,6])
f = 1.234
s = "number %i" % f
print s
plt.savefig(s)
迄今爲止這麼好。該圖被保存到名稱爲1(f的整數部分)的文件中 但是,如果我這樣做。
plt.plot([1,2,3,4,5,6])
f = 1.234
s = "number %.2f" % f
print s
plt.savefig(s)
打印語句打印1.234如預期,而plt.savefig(S)給出:
ValueError: Format "23" is not supported. Supported formats: eps, jpeg, jpg, pdf, pgf, png, ps, raw, rgba, svg, svgz, tif, tiff.
不知何故,savefig()方法混合字符串與保存的文件格式格式化。我使用matplotlib 1.5.1運行python 2.7.1
爲什麼不追加文件擴展名反正。你測試過了嗎?我害怕'。' float中的字符會破壞文件名,但afaik在字符串格式化中無法幫助,除非要添加更多代碼來隱式地替換'。'。與另一個字符,如'plt.savefig(s.replace('。',','))' –
這是一個很好的觀點,我沒有考慮它。它現在有用,謝謝! – iasonas