大家下午好。
首先,我知道此问题的标题与此处的标题完全相同:
MatPlotLib: Multiple datasets on the same scatter plot
第二,我对编程世界还是有点陌生,所以在谈到行话时请多多包涵!请毫不犹豫地纠正我,我会立即使用适当的术语解决问题。
但是,我按照链接中的示例进行操作,尽管散点图实际上确实是在同一图中绘制的,但轴(复数)被完全弄乱了。最终,我的目的是根据不同的物种用不同的颜色绘制散点图。
散点图应该看起来像...
...每个点的颜色因物种而异。
这是我的代码:
import unicodecsv
import matplotlib.pyplot as plt
import numpy as np
with open('../../DATA/iris.csv', 'rb') as f:
# Make it into a list called "data".
reader = unicodecsv.DictReader(f)
data = list(reader)
species = list(set(data2['species']))
setosa = {'width':[], 'length':[]}
virginica = {'width':[], 'length':[]}
versicolor = {'width':[], 'length':[]}
for dataPnt in data:
if dataPnt['species'] == species[0]:
setosa['length'].append(dataPnt['sepal_length'])
setosa['width'].append(dataPnt['sepal_width'])
elif dataPnt['species'] == species[1]:
virginica['length'].append(dataPnt['sepal_length'])
virginica['width'].append(dataPnt['sepal_width'])
else:
versicolor['length'].append(dataPnt['sepal_length'])
versicolor['width'].append(dataPnt['sepal_width'])
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.scatter(setosa['length'], setosa['width'])
ax.scatter(virginica['length'], virginica['width'])
我的散点图最终看起来像...
注意轴(复数)!
无论如何,我感谢您的帮助,如果我要进行任何更改,无论是针对问题本身,帖子中的术语,还是其他内容,请随时与我们联系!
我正在使用Jupyter Notebook和Spyder。