Python 使用带有两个列表的matplotlib打印图形
在从CSV文件导入数据并将其存储为两个单独的列表后,我尝试绘制一个图形。matplotlib是否可以使用字符串列表绘制图形,或者列表必须是两个“int”列表? 如果没有,为什么下面的代码不起作用 错误提示: 基数为10的int()的文本无效:“02_13_2014” 我的代码:Python 使用带有两个列表的matplotlib打印图形,python,matplotlib,plot,Python,Matplotlib,Plot,在从CSV文件导入数据并将其存储为两个单独的列表后,我尝试绘制一个图形。matplotlib是否可以使用字符串列表绘制图形,或者列表必须是两个“int”列表? 如果没有,为什么下面的代码不起作用 错误提示: 基数为10的int()的文本无效:“02_13_2014” 我的代码: import csv import numpy as np from numpy import genfromtxt import matplotlib.pyplot as plt im
import csv
import numpy as np
from numpy import genfromtxt
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
with open('pytdef.csv','r') as f:
reader = csv.reader(f)
for row in reader:
print (row)
first_column= ['Date']
second_column = ['Value']
Date_list = []
Value_list = []
with open('pytdef.csv') as f:
reader = csv.reader(f)
for row in reader:
Date_list.append(row[0])
with open('pytdef.csv') as f:
reader = csv.reader(f)
for row in reader:
Value_list.append(row[1])
print (Date_list)
print (Value_list)
Date_list = list(map(int,Date_list))
print (Date_list)
print (Value_list)
fig = plt.figure()
plt.plot_date(x=Date_list, y=Value_list)
plt.show()
我想这里的问题是你的约会。如果只使用pandas,这里的代码会简单得多
#!/usr/bin/env python
%matplotlib inline
import pandas as pd
import matplotlib.pyplot as plt
from datetime import date
columns = ['dates', 'value']
data = pd.read_csv('/location_of_file/file_name.csv', header=False, names=columns)
我假设你的数据看起来像这样
然后格式化日期
data['dates'] = [date(int(x.split('_')[2]), int(x.split('_')[0]),
int(x.split('_')[1])) for x in data.dates]
plt.plot(data.dates, data.value);
你能给出准确的错误和一个简单的例子吗。