前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 可视化 | 关联图 - 散点图1

Python 可视化 | 关联图 - 散点图1

作者头像
咸鱼学Python
发布2020-05-13 14:02:24
1.3K0
发布2020-05-13 14:02:24
举报
文章被收录于专栏:咸鱼学Python

什么是关联图?

关联图是查找两个事物之间关系的图像,他能为我们展示出一个事物随着另一个事物的变化如何变化。

典型的关联图有:折线图、散点图、相关矩阵等

我们什么时候会需要关联图?

1、数据报告 & 学术研究

展示趋势:比如产品销量随着时间如何变化,智力水平随着教育程度如何变化等

展现状态:不同年龄的客户的成交率,不同生产成本对应的生产员工技能要求等

2、数据探索 & 数据解读

探索数据关系,帮助了解试试,推动研究

3、统计学 & 机器学习

探索数据关系,指导数据预处理和模型选择

散点图

导入需要库
代码语言:javascript
复制
import numpy as np
import pandas as pd
import matplotlib as mpl

绘制一个简单的散点图

使用pd.scatter函数绘制散点图

简单的散点图示例:

代码语言:javascript
复制
# 定义数据,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、颜色

图例:

代码语言:javascript
复制
# 生成 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()

绘制复杂的散点图

自己创造数据过于简单,我们可以使用网上大神的简单数据集学习绘制复杂的散点图。

代码语言:javascript
复制
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()

以上。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 咸鱼学Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是关联图?
  • 散点图
    • 导入需要库
      • 绘制一个简单的散点图
        • 绘制多种图例颜色的散点图(以两种为例)
          • 绘制复杂的散点图
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档