# 读取数据
df = pd.read_csv('iris.csv')
def get_xycs(df):
# 平面坐标系的位置只能表示2维数据
x = df['sepal_length'] # x 轴坐标
y = df['sepal_width'] # y 轴坐标
c = df['petal_length'] # 颜色color
s = df['petal_width'] # 大小size
return x,y,c,s
markers = {'setosa':'o', 'versicolor':'D', 'virginica':'*'}
# 根据X,Y值画散点图, 用颜色的深浅表示花萼的长度,用大小表示花萼的宽度, 每组数据只能是一种点样式
plt.figure(figsize=(5,5),dpi=100)
#plt.scatter(x,y, c=c, s=50) # 可以是标量,那么所有的点都一样
for sp in df['species'].unique():
x,y,c,s = get_xycs(df[df['species']==sp])
plt.scatter(x,y, s=s*30, cmap=plt.cm.seismic, marker=markers[sp],label=sp)
plt.legend()