【发布时间】:2015-09-23 08:31:28
【问题描述】:
Using matplotlib/pandas/python, I cannot visualize data as values per 30mins and per days是一个新问题,与这个问题密切相关。
我想用 Matplotlib 可视化 CSV 数据。
下面是我的代码1.30mins.py
import matplotlib.pyplot as plt
from matplotlib import style
import numpy as np
style.use('ggplot')
x,y =np.loadtxt('total_watt.csv',
unpack = True,
delimiter = ',')
plt.plot(x,y)
plt.title('Example')
plt.ylabel('Y axis')
plt.xlabel('X axis')
plt.show()
当我实现1.30mins.py 时,我收到以下错误消息。
(DataVizProj)Soma-Suzuki:Soma Suzuki$ python 1.30mins.py
Traceback (most recent call last):
File "1.30mins.py", line 10, in <module>
delimiter = ',')
File "/Users/Suzuki/Envs/DataVizProj/lib/python2.7/site-packages/numpy/lib/npyio.py", line 856, in loadtxt
items = [conv(val) for (conv, val) in zip(converters, vals)]
ValueError: invalid literal for float(): 2011-04-18 13:22:00
这是我的total_watt.csv
2011-04-18 21:22:00 659.670303375527
2011-04-18 21:52:00 576.304871428571
2011-04-18 22:22:00 2,497.20620579196
2011-04-18 22:52:00 2,790.20392088608
2011-04-18 23:22:00 1,092.20906629318
2011-04-18 23:52:00 825.994417375886
2011-04-19 00:22:00 2,397.16672089666
2011-04-19 00:52:00 1,411.66659265233
据我自己搜索,我需要在我的程序中添加converters或%y-%m-%t。
我的python版本是2.76 我的 matpltlib 版本是 1.42
【问题讨论】:
-
您的错误与您尝试读取的文件无关,而是与您的 matplotlib 相关。您使用的是哪个版本的 python 和 matplotlib?其次,我建议您尝试使用datetime dtype 作为您的数据,并从您的最后一列中删除
,。 -
我的 matplotlib 版本是; >>> import matplotlib as mpl >>> print mpl.__version__ 1.4.2 我的python版本是; (DataVizProj)Soma-Suzuki:~ Suzuki$ python -V Python 2.7.6
-
我得到一个不同的错误,即“ValueError:float() 的无效文字:2011-04-18 21:22:00 659.670303375527”。我使用 Python 2.7.6 和 Matplotlib 1.4.3,导入样式没有问题。另外,请注意 plt 未在您的代码中定义。
-
感谢我定义了“plt”并添加到我的问题中。
-
我又遇到了一个错误。我编辑了我的问题
标签: python csv matplotlib