前提・実現したいこと
ここに質問の内容を詳しく書いてください。
https://imgur.com/gallery/3Lx4uQ0
以上のような散布図を作りたいのですが以下のようなエラーメッセージがでてきます。
データ元は気象庁の過去観測データ(1919-2019)月別最高気温より
nに年、mに月、lに気温が入っています
発生している問題・エラーメッセージ
ValueError: x and y must be the same size
該当のソースコード
python
1#-*- coding:utf-8 -*- 2import matplotlib.pyplot as plt 3import numpy as np 4 5plt.switch_backend('agg') 6 7plt.figure(figsize=(16,9)) 8f=open("data.csv") 9n=[] 10m=[] 11l=[] 12lines=f.readlines() 13for i in range(len(lines)-6): 14 line=lines[i+6].split(",") 15 n.append(int(line[0])) 16 m.append(int(line[1])) 17 l.append(float(line[2])) 18 19 20n_a=np.array(n) 21m_a=np.array(m) 22l_a=np.array(l) 23 24 25 26plt.subplot(1,1,1) 27plt.title("Monthly maximum temperature in 1919-2019") 28plt.xlabel("Month") 29plt.ylabel("Year") 30year=range(1919,2020) 31moon=range(1,13) 32z=l_a 33cm=plt.cm.get_cmap('Blues') 34plt.scatter(m_a,n_a,c=z,vmin=10,vmax=50,s=5,camp=cm) 35plt.ylim(1919,2019) 36plt.xticks(month) 37plt.yticks([1919,1929,1939,1949,1959,1969,1979,1989,1999,2009,2019]) 38plt.savefig("test3.png") 39plt.close()
試したこと
n,mを行列化したり、リストのままにしたりしました。
補足情報(FW/ツールのバージョンなど)
python 2.7
あなたの回答
tips
プレビュー