Mình đang muốn sử dụng matplotlib để vẽ đồ thị, đang vướng mắc ở biến trục tung.
Cụ thể, mình đang có hai tuple tên xs và xs2 có độ dài lần lượt là 396 và 223, trong hai tuple này có một số phần tử trùng nhau, có dạng:
xs = ('a','b','c','d','e')
xs2 = ('b','c','e','f','g')
Mình muốn thu đc tuple X
X = ('a','b','c','d','e','f','g')
Rất mong nhận đc sự giúp đỡ
Dưới là phần code mình đang thực hiện:
import matplotlib.pyplot as plt
import csv,sys,datetime
from collections import defaultdict
reader = csv.DictReader(open(sys.argv[1], 'r'))
obamadonations = defaultdict(lambda:0)
mccaindonations = defaultdict(lambda:0)
for row in reader:
name = row['cand_nm']
datestr = row['contb_receipt_dt']
amount = float(row['contb_receipt_amt'])
if amount < 0:
line = '\t'.join(row.values())
#print(line)
date = datetime.datetime.strptime(datestr, '%d-%b-%y')
if 'Obama' in name:
obamadonations[date] += amount
elif 'McCain' in name:
mccaindonations[date] += amount
fig = plt.figure(figsize=(15,10))
#dictionaries
sorted_by_date = sorted(obamadonations.items(), key=lambda (key,val): key)
sorted_by_date2 = sorted(mccaindonations.items(), key=lambda (key,val): key)
xs,ys = zip(*sorted_by_date)
xs2,ys2 = zip(*sorted_by_date2)
print("Tuple xs:", xs)
print("Length of xs:", len(xs))
print("Tuple xs2:", xs2)
print("Length of xs2:", len(xs2))
sp1 = fig.add_subplot(211)
sp1.plot(xs, ys, label='line 1')
sp2 = fig.add_subplot(212)
sp2.plot(xs2, ys2,label='line 2')
plt.legend(loc='upper center', ncol = 4)
plt.savefig('test.png', format='png')