数据可视化:散点图的成长史(Python)

导入数据

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

data=pd.read_csv("graph.csv")
data

两个数值变量

plt.xlabel('height')
plt.ylabel('weight')
plt.scatter(data['height'],data['weight'])
plt.grid()  # 生成网格
plt.show()
1.png

三个数值变量

plt.xlabel('height')
plt.ylabel('weight')
m = {"M":'o',"F":'s'}
cm = list(map(lambda x:m[x],data.sex))#将相应的标签改为对应的marker
print(cm)
plt.scatter(data.height,data.weight,s=data.income*4)
plt.grid()  # 生成网格
plt.show()
image.png

四个数值变量

plt.xlabel('height')
plt.ylabel('weight')

plt.scatter(data.height,data.weight,s=data.income*4,c=data.score, cmap='spring',alpha=0.3)
plt.colorbar()
plt.grid()  # 生成网格
plt.show()
image.png

四个数值变量与一个分类变量

plt.xlabel('height')
plt.ylabel('weight')
mdata=data.loc[data['sex']=='M']
fdata=data.loc[data['sex']=='F']
plt.scatter(mdata.height, mdata.weight,s= mdata.income*4,c=mdata.score,marker="o", cmap='spring',alpha=0.3)
plt.scatter(fdata.height, fdata.weight,s= fdata.income*4,c=fdata.score,marker="s", cmap='spring',alpha=0.3)
plt.colorbar()
plt.grid()  # 生成网格
plt.show()
image.png

五个数值变量与一个分类变量

plt.xlabel('height')
plt.ylabel('weight')
mdata=data.loc[data['sex']=='M']
fdata=data.loc[data['sex']=='F']
plt.scatter(mdata.height, mdata.weight,s= mdata.income*4,linewidths=mdata.cost*0.2,c=mdata.score,marker="o", cmap='spring',alpha=0.3)
plt.scatter(fdata.height, fdata.weight,s= fdata.income*4,linewidths=fdata.cost*0.2,c=fdata.score,marker="s", cmap='spring',alpha=0.3)
plt.colorbar()
plt.grid()  # 生成网格
plt.show()
image.png

结论

  • 可视化不应使数据失真。
  • 可视化不应包含不必要的装饰。
  • 所有轴均应正确标记。
  • 考虑合适的图形与配色。
  • 变量的数量不应太多。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容