本篇内容主要讲解“Python如何实现散点图”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python如何实现散点图”吧!
关联图是查找两个事物之间关系的图像,他能为我们展示出一个事物随着另一个事物的变化如何变化。
典型的关联图有:折线图、散点图、相关矩阵等
我们什么时候会需要关联图?
1、数据报告 & 学术研究
展示趋势:比如产品销量随着时间如何变化,智力水平随着教育程度如何变化等
展现状态:不同年龄的客户的成交率,不同生产成本对应的生产员工技能要求等
2、数据探索 & 数据解读
探索数据关系,帮助了解试试,推动研究
3、统计学 & 机器学习
探索数据关系,指导数据预处理和模型选择
import numpy as np
import pandas as pd
import matplotlib as mpl
使用pd.scatter
函数绘制散点图
简单的散点图示例:
# 定义数据,x1 取随机数
x1 = np.random.randn(10)
x2 = x1 + x1**2-10
# 定义画布,当只有会这个图的时候,下面这句不是必须存在的
plt.figure(figsize=(8,4))
# 绘制图像
plt.scatter(x1, # 横坐标
x2, # 纵坐标
s = 50, # 数据点的尺寸大小
c = "red", # 数据点的颜色
label = "red points" # 图例
)
# 装饰图形
# 显示图例,上面的 plt.scatter 中没有 label 属性的下面这句会出现警告
plt.legend()
# 显示图形
plt.show()
绘制一下图形需要找到以下三个要素:
1、绘图用的数据,x1,x2
2、标签的列表
3、颜色
图例:
# 生成 10 行,2 列的数据表
x = np.random.randn(10,2)
y = np.array([0,0,1,1,0,1,0,1,0,0])
plt.figure(figsize=(8,4))
colors = ["red","black"] # 确立颜色列表
label是 = ["Zero","One"] # 确立标签的类别列表
# 通过循环遍历 x.shape 将多个列形成的图像叠加在一起
for i in range(x.shape[1]):
plt.scatter(
x[y==i,0],
x[y==i,1],
c=colors[i],
label=labels[i]
)
# 在标签中存在几种类别,我们就需要循环几次,一次画一个颜色的点
plt.legend()
plt.show()
自己创造数据过于简单,我们可以使用网上大神的简单数据集学习绘制复杂的散点图。
midwest = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/midwest_filter.csv")
# 过滤标签,去除标签重复像
categories = np.unique(midwest['category']) #去掉所有重复的项
plt.figure(figsize=(16,10))
for i in range(len(categories)):
plt.scatter(midwest.loc[midwest["category"]==categories[i],"area"]
,midwest.loc[midwest["category"]==categories[i],"poptotal"]
,s=20
,c=np.array(plt.cm.tab10(i/len(categories))).reshape(1,-1)
,label=categories[i]
)
plt.legend()
plt.show()
到此,相信大家对“Python如何实现散点图”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。