####问题:在同一张图上绘制三组数据的散点图时出现纵坐标不按大小排列,不兼容的现象
import matplotlib.pyplot as plt
infile=open("GDP.csv","r")
lst1=infile.readlines()
lst2=[a.split(",") for a in lst1]
del lst2[0]
year=[]
India=[]
Japan=[]
China=[]
for lst3 in lst2:
year.append(lst3[0])
India.append(lst3[4])
Japan.append(lst3[5])
China.append(lst3[6].rstrip("\n"))
for y in year:
y=float(y)
for i in India:
i=float(i)
for j in Japan:
j=float(i)
for c in China:
c=float(c)
infile.close()
plt.scatter(year,India,marker="^",color="blue",label="India")
plt.scatter(year,Japan,marker="*",color="orange",label="Japan")
plt.scatter(year,China,marker="s",color="red",label="China")
plt.legend()
plt.title("Japan, India, China GDP")
plt.xlabel("Year")
plt.ylabel("GDP")
###### 运行结果
###### 我的解答思路和尝试过的方法
1.将string转为float
结果如上图所示,仍无法解决问题
2.固定纵坐标
会出现无法画点的问题,且纵坐标标签全部消失
3.规定横坐标以使点的分布按照横坐标顺序进行绘制
无用,代码如下:
plt.xticks(arange(len(year)),year)
###### 我想要达到的结果