Python matplotlib 绘制散点图详解建议收藏

目录
  • 前言
  • 1. 散点图概述
    • 什么是散点图?
    • 散点图使用场景
    • 绘制散点图步骤
    • 案例展示
  •  2. 散点图属性
    • 设置散点大小
    • 设置散点颜色
    • 设置散点样式
    • 设置透明度
    • 设置散点边框
  • 3. 添加折线散点图
  • 4. 多类型散点图
  • 5. 颜色条散点图
  • 6. 曲线散点图
  • 总结

前言

我们在matplotlib模块学习中,发现有常用的反映数据变化的折线图,对比数据类型差异的柱状图和反应数据频率分布情况的直方图。

往期内容速看

Python用 matplotlib 绘制柱状图

Python matplotlib底层原理解析

Python matplotlib超详细教程实现图形绘制

其实在数据统计图表中,有一种图表是散列点分布在坐标中,反应数据随着自变量变化的趋势。

本期,我们将详细学习matplotlib 绘制散点图相关属性的学习,let's go~

1. 散点图概述

什么是散点图?

  • 散点图用于在水平轴和垂直轴上绘制数据点,数据以点状分布在左标系中
  • 散点图表示因变量随着自变量而变化的大致趋势
  • 散点图由多个左坐标点构成,考察坐标点的分布,判断是否存在某种关联或者分布模式
  • 对于不同类别的点,则由图表中不同形状或颜色的标记符表示
  • 散点图主要分为散点图矩阵、三维散点图、ArcGIS散点图

散点图使用场景

  • 散点图用于比较跨类别的聚合数据
  • 散点图用于分析数据线性、多项式趋势情况
  • 散点图用于四象限分析
  • 散点图用于找到数据趋势公式
  • 散点图可以为后期精确的图标进行辅助

绘制散点图步骤

  1. 导入matplotlib.pyplot模块
  2. 准备数据,可以使用numpy/pandas整理数据
  3. 调用pyplot.scatter()绘制散点图

案例展示

本次案例我们将分析某产品不同定价销售额分布情况

案例需要准备两组数据x和y轴,其中x,y轴的数据量要保持一致

x_value = np.random.randint(50,100,50)
y_value = np.random.randint(500,1000,50)

绘制散点

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams["font.sans-serif"]=['SimHei'] plt.rcParams["axes.unicode_minus"]=False

x_value = np.random.randint(50,100,50)
y_value = np.random.randint(500,1000,50)

plt.scatter(x_value,y_value)

plt.title("data analyze")
plt.xlabel("销售价格")
plt.ylabel("销售额")

plt.show()

 2. 散点图属性

设置散点大小

关键字:s

传入数据类型为list或者数字,默认为20

设置散点颜色

关键字:c

默认颜色为蓝色

取值范围

  • 表示颜色的英文单词:如红色"red"
  • 表示颜色单词的简称如:红色"r",黄色"y"
  • RGB格式:十六进制格式如"#88c999";(r,g,b)元组形式
  • 也可以传入颜色列表

设置散点样式

关键字:marker

系统默认为'o'小圆圈

取值还可以取:('o', 'v', '^', '<', '>', '8', 's', 'p', '*', 'h', 'H', 'D', 'd', 'P', 'X')

设置透明度

关键字:alpha

取值范围:0~1

设置散点边框

关键字: edgecolor

默认为face

取值选项:

  • "face"|"none"
  • 表示颜色的英文单词、简写或者rgb

我们结合上一节的案例,设置散点大小,散点边框为粉色,散点颜色为#88c999

size = (20*np.random.rand(50))**2
plt.scatter(x_value,y_value,s=area,c="#88c999",edgecolors="pink"

3. 添加折线散点图

我们在查看散点图时,有时候会借助折线图来辅助分析。我们继续拿第一节的数据来分析。

我们使用np.random.rand()来生成100个随机数据

x_value = 100*np.random.rand(100)
y_value = 100*np.random.rand(100)

需要借助我们高中的数学公司如sin\cos函数等(高中数学都还给老师了)

使用pyplot.plot()方法来绘制曲线图

r0 = 80
plt.scatter(x_value,y_value,c="hotpink",edgecolors="blue")
the =  np.arange(0,np.pi/2, 0.01)
plt.plot(r0*np.cos(the),r0*np.sin(the))

4. 多类型散点图

我们在观察数据的时候,会同时比较多个类型数据,因此我们可以通过颜色或者散点样式来区分表示

方式一: 使用颜色来区分不同类别时,我们需要再添加新的数据和scatter方法

x_value = 100*np.random.rand(100)
y_value = 100*np.random.rand(100)
y1_value = 100*np.random.rand(100)

plt.scatter(x_value,y_value, c="hotpink",edgecolors="blue",label="A产品")

plt.scatter(x_value,y1_value, c="#88c999", edgecolors="y",label="B产品")

方式二:我们可以使用marker来标记不同类型,例如我们使用上一节的案例再添加一个scatter()

r0 = 80

size = (20*np.random.rand(100))**2

r = np.sqrt(x_value**2+y_value**2)
area = np.ma.masked_where(r > r0,size)
area1 = np.ma.masked_where(r <= r0, size)

plt.scatter(x_value,y_value,s=area,c="hotpink",edgecolors="blue",label="A产品")

plt.scatter(x_value, y_value, s=area1, c="red", edgecolors="y",marker="^",label="B产品")

the =  np.arange(0,np.pi/2, 0.01)
plt.plot(r0*np.cos(the),r0*np.sin(the))

5. 颜色条散点图

在散点图表中,我们为了对每个点颜色深浅进行表示,我们可以借助cmap颜色条来进行添加

  • 颜色条显示关键字:cmap
  • 默认为viridis,可选值如accent_r,blues_r,brbg_r,greens_r等等
  • 表示每种颜色从0~100的值

当要显示颜色列表时,我们需要调用pyplot.colorbar()

例如,我们对散点图添加一个红色系的颜色列表

size = (20*np.random.rand(100))**2
color = np.random.randint(0,100,100)
plt.scatter(x_value,y_value, s=size, c=color,label="A产品",cmap="afmhot_r")
plt.colorbar()

6. 曲线散点图

散点图都是由一个一个坐标点组成的,当这些点具有一定规律时,我们可以使用散点图来绘制曲线。

我们使用scatter()绘制一个2次方的幂函数

x_value = list(range(1, 100))
y_value = [x ** 2 for x in x_value]

plt.scatter(x_value,y_value,c=y_value,cmap="hot_r",edgecolors="none",s=50)

plt.show()

总结

本期,我们对matplotlib.pyplot 绘制散点图scatter方法及相关属性进行详细的学习。对于暂时没有找到规律的数据来说,使用散点图可以快速发现数据的分布情况 

以上就是Python matplotlib 绘制散点图详解建议收藏的详细内容,更多关于Python matplotlib 绘制散点图的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python基于pandas绘制散点图矩阵代码实例

    1.示例 1 代码 import numpy as np import pandas as pd import matplotlib.pyplot as plt # 生成数据 v1 = np.random.normal(0, 1, 100) v2 = np.random.randint(0, 23, 100) v3 = v1 * v2 # 3*100 的数据框 df = pd.DataFrame([v1, v2, v3]).T # 绘制散点图矩阵 pd.plotting.scatter_matr

  • Python绘制散点图的教程详解

    少废话,直接上代码 import matplotlib.pyplot as plt import numpy as np # 1. 首先是导入包,创建数据 n = 10 x = np.random.rand(n) * 2# 随机产生10个0~2之间的x坐标 y = np.random.rand(n) * 2# 随机产生10个0~2之间的y坐标 # 2.创建一张figure fig = plt.figure(1) # 3. 设置颜色 color 值[可选参数,即可填可不填],方式有几种 # col

  • Python matplotlib实现散点图的绘制

    目录 一.整理数据 二.修改点的样式 三.呈现半透明的状态 四.点呈现多彩的颜色 五.让点的大小不一 六.侧边呈现颜色卡 七.改变集中性 一.整理数据 import pandas as pd cnbodf=pd.read_excel('cnboo1.xlsx') cnbodfsort=cnbodf.sort_values(by=['BO'],ascending=False) def mkpoints(x,y): return len(str(x))*(y/25)-3 cnbodfsort['po

  • python散点图的绘制

    目录 一.二维散点图的绘制 1.采用pandas.plotting.scatter_matrix函数绘制 2. 采用seaborn进行绘制 二. 三维散点图绘制 一.二维散点图的绘制 1.采用pandas.plotting.scatter_matrix函数绘制 pd.plotting.scatter_matrix(iris_data, figsize=(10, 10), alpha=1, hist_kwds={"bins": 20}) 2. 采用seaborn进行绘制   # No.

  • python绘制地震散点图

    本项目是利用五年左右的世界地震数据,通过python的pandas库.matplotlib库.basemap库等进行数据可视化,绘制出地震散点图.主要代码如下所示 from __future__ import division import pandas as pd from pandas import Series,DataFrame import numpy as np from matplotlib.patches import Polygon chi_provinces = ['北京',

  • Python使用matplotlib 模块scatter方法画散点图示例

    本文实例讲述了Python使用matplotlib 模块scatter方法画散点图.分享给大家供大家参考,具体如下: # -*-coding:utf-8-*- import matplotlib.pyplot as plt y = [12, 7, 1, 2, 6, 3, 7, 5, 12, 6, 14, 10, 6, 7, 1, 2, 9, 3, 4, 4, 4, 5, 4, 6, 9, 5, \ 2, 1, 2, 1, 7, 6, 43, 15, 18, 52, 39, 53, 39, 17,

  • Python利用matplotlib绘制散点图的新手教程

    前言 上篇文章介绍了使用matplotlib绘制折线图,参考:https://www.jb51.net/article/198991.htm,本篇文章继续介绍使用matplotlib绘制散点图. 一.matplotlib绘制散点图 # coding=utf-8 import matplotlib.pyplot as plt years = [2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019] turnovers =

  • python 离散点图画法的实现

    目录 基础代码 改进 再次改进: 又次改进: 改进:----加准确率 基础代码 pred_y = test_output.data.numpy() pred_y = pred_y.flatten() print(pred_y, 'prediction number') print(test_y[:355].numpy(), 'real number') ​ import matplotlib.pyplot as plt plt.rc("font", family='KaiTi') pl

  • python matplotlib库绘制散点图例题解析

    假设通过爬虫你获取到了北京2016年3,10月份每天白天的最高气温(分别位于列表a,b),那么此时如何寻找出气温随时间(天)变化的某种规律? a = [11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23] b = [26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,17,10,11,

  • Python matplotlib 绘制散点图详解建议收藏

    目录 前言 1. 散点图概述 什么是散点图? 散点图使用场景 绘制散点图步骤 案例展示  2. 散点图属性 设置散点大小 设置散点颜色 设置散点样式 设置透明度 设置散点边框 3. 添加折线散点图 4. 多类型散点图 5. 颜色条散点图 6. 曲线散点图 总结 前言 我们在matplotlib模块学习中,发现有常用的反映数据变化的折线图,对比数据类型差异的柱状图和反应数据频率分布情况的直方图. 其实在数据统计图表中,有一种图表是散列点分布在坐标中,反应数据随着自变量变化的趋势. 本期,我们将详细

  • Python matplotlib 绘制散点图详解建议收藏

    目录 前言 1. 散点图概述 什么是散点图? 散点图使用场景 绘制散点图步骤 案例展示  2. 散点图属性 设置散点大小 设置散点颜色 设置散点样式 设置透明度 设置散点边框 3. 添加折线散点图 4. 多类型散点图 5. 颜色条散点图 6. 曲线散点图 总结 前言 我们在matplotlib模块学习中,发现有常用的反映数据变化的折线图,对比数据类型差异的柱状图和反应数据频率分布情况的直方图. 往期内容速看 Python用 matplotlib 绘制柱状图 Python matplotlib底层

  • Python正则表达式re模块详解(建议收藏!)

    目录 前言 match 匹配字符串 单字符匹配 . 匹配任意一个字符 \d 匹配数字 \D 匹配非数字 \S 匹配非空白 \w 匹配单词.字符,如大小写字母,数字,_ 下划线 \W 匹配非单词字符 [ ] 匹配[ ]中列举的字符 表示数量 * 出现0次或无数次 + 至少出现一次 ? 1次或则0次 {m,} 至少出现m次 匹配边界 $ 匹配结尾字符 ^ 匹配开头字符 \b 匹配一个单词的边界 \B 匹配非单词边界 匹配分组 | 匹配左右任意一个表达式 (ab) 将括号中字符作为一个分组 searc

  • Python利用Matplotlib绘制图表详解

    目录 前言 折线图绘制与显示 绘制数学函数图像 散点图绘制 绘制柱状图 绘制直方图 饼图 前言 Matplotlib 是 Python 中类似 MATLAB 的绘图工具,如果您熟悉 MATLAB,那么可以很快的熟悉它. Matplotlib 提供了一套面向对象绘图的 API,它可以轻松地配合 Python GUI 工具包(比如 PyQt,WxPython.Tkinter)在应用程序中嵌入图形.与此同时,它也支持以脚本的形式在 Python.IPython Shell.Jupyter Notebo

  • Python pyecharts绘制条形图详解

    目录 一.简介 二.整理数据 1.配置主题 2.柱状图 Bar - Bar_base_dict_config 3.样例数据 Faker.choose() 4.滚动条 Bar - Bar_datazoom_slider 5.鼠标移动效果 Bar - Bar_datazoom_inside 6.显示最值 Bar - Bar_markpoint_type 7.改变滚动条在侧面 Bar - Bar_datazoom_slider_vertical 8.多个Y轴 9.直方图 Bar - Bar_histo

  • Python Matplotlib marker 标记详解

    目录 前言 1.标记(Markers) 2.标记参考(Marker Reference) 3.Format Strings fmt 4.线参考(Line Reference) 5.颜色参考(Color Reference) 6.标记大小(Marker Size) 7.标记颜色(Marker Color) 前言 Matplotlib,风格类似 Matlab 的基于 Python 的图表绘图系统. Matplotlib 是 Python 最著名的绘图库,它提供了一整套和 Matlab 相似的命令 A

  • Python matplotlib绘制散点图的实例代码

    前言 前面说到的主要是matplotlib对于图像的基础操作,然后从这篇开始,主要说一下点图,分析点图在实际问题的数据处理中应用非常广泛,比如说逻辑回归是利用现有的数据点通过拟合得到一定的函数关系,甚至生活中,物体运动的轨迹,也可以看做是连续的点绘制而成,还有图像,也是很多个像素点堆砌而成的,在图像处理中经常会针对单个像素点进行处理. 现在的深度学习或者机器学习,模型都是固定的,大多 不需要怎么改动,而能提升训练效果的,最重要的就是能更好的处理数据,而很多数据本身就是点集,利用matplotli

  • C语言基础文件操作方式超全详解建议收藏

    目录 什么是文件 文件名 文件类型 文件指针 文件的打开与关闭 打开方式 文件的顺序读写 关于fread的返回值 对比一组函数 文件随机读取 文件结束判断 perror() ferror() 什么是文件 磁盘上的文件是文件. 在程序设计中,我们一般读的文件有两种:程序文件 和 数据文件 程序文件包括源程序文件(后缀为.c).目标文件(win下后缀为 .obj).可执行文件(win下环境后缀为.exe) 数据文件:文件的内容不一定是程序,而是运行时读写的程序,比如程序运行需要从中读取数据的文件,或

  • Python matplotlib绘制散点图配置(万能模板案例)

    目录 散点图 散点图一行代码显示 加颜色的散点图 颜色深浅表示数值大小 散点图显示颜色和大小 自定义图表散点图 散点图万能模板 其他模板 散点图 散点图是指在 回归分析中,数据点在直角坐标系平面上的 分布图,散点图表示因变量随 自变量而 变化的大致趋势,据此可以选择合适的函数 对数据点进行 拟合. 用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式.散点图将序列显示为一组点.值由点在 图表中的位置表示.类别由图表中的不同标记表示.散点图通常用于比较跨

  • Python matplotlib可视化绘图详解

    目录 一.绘制线性图形 二.绘制柱状图形 三.绘制直方图 四.绘制散点图 五.绘制极坐标 六.绘制饼图 总结 一.绘制线性图形 执行如下代码 import matplotlib.pyplot as plt dataX=[1,2,3,4] dataY=[2,4,4,2] plt.plot(dataX,dataY) plt.title("Draw straight line") plt.xlabel("x") plt.ylabel("y") plt.

随机推荐