Matplotlib scatter绘制散点图的方法实现


Posted in Python onJanuary 02, 2020

前言

考虑到很多同学可能还没有安装matplotlib包,这里给大家提供我常用的安装方法。首先Win键 + R,输入命令cmd打开命令行工具,再次在命令行工具中输入pip install matplotlib就可以直接安装了,安装后会提示安装成功。

Matplotlib scatter绘制散点图的方法实现

Matplotlib scatter绘制散点图的方法实现

一、简单散点图

1.代码

import numpy as np
import matplotlib.pyplot as plt

#生成散点数据
n = 1024
X = np.random.normal(0,1,n)
Y = np.random.normal(0,1,n)

plt.scatter(X,Y)  #输入散点数据
plt.show()     #显示散点图

2.运行结果

Matplotlib scatter绘制散点图的方法实现

3.注释

np.random.normal(0,1,n)的作用是产生一个符合正太分布的数据样本,听起来可能有点专业化了,我们目前只需要知道它的作用是产生一组样本数据就ok了。

(下面的内容了解即可无需深入,后面再进行深入学习)
np.random.normal(size,loc,scale)
参数含义:
loc:此概率分布的均值(对应着整个分布的中心centre)
scale:此概率分布的标准差(对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高)
size:输出的shape,默认为None,只输出一个值

二、复杂的散点图

较上一次散点图所做出的变动:

1.修改散点的颜色
2.将三组散点数据放到一张图上
3.添加散点图图例

1.代码

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

for color in ['red', 'green', 'purple']:      #每一次循环都会产生一组散点数据
  n = 400
  x = np.random.normal(0,1,n)
  y = np.random.normal(0,1,n)
  ax.scatter(x, y, c=color, label=color ,alpha=0.5)

ax.legend()                     #显示图例

plt.show()

2.运行结果

Matplotlib scatter绘制散点图的方法实现

3.注释

1.fig, ax = plt.subplots()是一个将多组数据放到一张图显示的操作,可以简单理解为多图合一操作。

其返回值
fig: matplotlib.figure.Figure 对象
ax:子图对象( matplotlib.axes.Axes)或者是他的数组

#函数定义看看就好了
def subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True,
       subplot_kw=None, gridspec_kw=None, **fig_kw):
  fig = figure(**fig_kw)
  axs = fig.subplots(nrows=nrows, ncols=ncols, sharex=sharex, sharey=sharey,
            squeeze=squeeze, subplot_kw=subplot_kw,
            gridspec_kw=gridspec_kw)
  return fig, axs

2.ax.scatter(x, y, c=color, label=color ,alpha=0.5)中的c是散点的颜色,label是图例中的标签,alpha是散点的透明度,通过给alpha值介于0和1之间来调整散点的透明度。

四、散点图参数讲解

这部分还是先通过代码来直观了解一下scatter常用的参数

1.代码

import numpy as np
import matplotlib.pyplot as plt

n = 30

x = np.random.normal(0,1,n)
y = np.random.normal(0,1,n)

plt.subplot(321)
plt.scatter(x, y, s=80, c='red', marker='^')

plt.subplot(322)
plt.scatter(x, y, s=80, c='green', marker=(7, 1))

plt.subplot(323)
plt.scatter(x, y, s=1, c='purple', marker=(6, 1))

plt.subplot(324)
plt.scatter(x, y, s=400, c='red', marker=(5, 1))

plt.subplot(325)
plt.scatter(x, y, s=80, c='green', marker='+')

plt.subplot(326)
plt.scatter(x, y, s=80, c='purple', marker=(5, 2))

plt.show()

2.运行结果

Matplotlib scatter绘制散点图的方法实现

3.参数说明

fig, axes = plt.subplots(23):表示一次性在figure上创建成2*3的网格,plt.subplot(321)代表在6个网格中的第一个网格创建图像,plt.subplot(322)代表在6个网格中的第二个网格创建图像,以此类推。对于这个函数的其他参数,我会在之后再详细讲解,把时间花在刀刃上,花最少的时间学习最有用的东西

plt.scatter(x, y, s=80, c='purple', marker=(5, 2))中的s代表散点的大小,参照第三和第四张图。marker表示散点的样式,元组表示法参照第二、四、六张图,也可以取特定的符号作为marker的值,参照第一、五张图。

Matplotlib scatter绘制散点图的方法实现

截图取自官网。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python socket 超时设置 errno 10054
Jul 01 Python
python对url格式解析的方法
May 13 Python
python3新特性函数注释Function Annotations用法分析
Jul 28 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
May 08 Python
微信跳一跳python辅助脚本(总结)
Jan 11 Python
python实现连连看辅助(图像识别)
Mar 25 Python
解决python 3 urllib 没有 urlencode 属性的问题
Aug 22 Python
python生成器推导式用法简单示例
Oct 08 Python
pytorch如何冻结某层参数的实现
Jan 10 Python
解决pytorch DataLoader num_workers出现的问题
Jan 14 Python
python数据预处理 :数据共线性处理详解
Feb 24 Python
python实现将range()函数生成的数字存储在一个列表中
Apr 02 Python
Python基础之函数基本用法与进阶详解
Jan 02 #Python
Python面向对象原理与基础语法详解
Jan 02 #Python
Pytorch 的损失函数Loss function使用详解
Jan 02 #Python
Python面向对象封装操作案例详解 II
Jan 02 #Python
Python实现搜索算法的实例代码
Jan 02 #Python
python 实现从高分辨图像上抠取图像块
Jan 02 #Python
python base64库给用户名或密码加密的流程
Jan 02 #Python
You might like
php下获取客户端ip地址的函数
2010/03/15 PHP
php利用单例模式实现日志处理类库
2014/02/10 PHP
PHP利用超级全局变量$_GET来接收表单数据的实例
2016/11/05 PHP
php格式文件打开的四种方法
2018/02/24 PHP
理解Javascript_10_对象模型
2010/10/16 Javascript
整理8个很棒的 jQuery 倒计时插件和教程
2011/12/12 Javascript
js中一维数组和二位数组中的几个问题示例说明
2014/07/17 Javascript
JS实现模拟风力的雪花飘落效果
2015/05/13 Javascript
JavaScript实现无穷滚动加载数据
2017/05/06 Javascript
Angular4实现动态添加删除表单输入框功能
2017/08/11 Javascript
Mongoose中document与object的区别示例详解
2017/09/18 Javascript
vue中实现滚动加载更多的示例
2017/11/08 Javascript
vue 中引用gojs绘制E-R图的方法示例
2018/08/24 Javascript
解决Vue+Element ui开发中碰到的IE问题
2018/09/03 Javascript
iview tabs 顶部导航栏和模块切换栏的示例代码
2019/03/04 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
Antd中单个DatePicker限定时间输入范围操作
2020/10/29 Javascript
[46:57]EG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[59:59]EG vs IG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python中使用 Selenium 实现网页截图实例
2014/07/18 Python
python3结合openpyxl库实现excel操作的实例代码
2018/09/11 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
python 拼接文件路径的方法
2018/10/23 Python
python离线安装外部依赖包的实现
2020/02/13 Python
Python Tornado之跨域请求与Options请求方式
2020/03/28 Python
python分布式爬虫中消息队列知识点详解
2020/11/26 Python
Python如何telnet到网络设备
2021/02/18 Python
让IE下支持Html5的placeholder属性的插件
2014/09/02 HTML / CSS
工作保证书范文
2014/04/29 职场文书
革命英雄事迹演讲稿
2014/09/13 职场文书
农村党员对照检查材料
2014/09/24 职场文书
幼儿园六一儿童节活动总结
2015/02/10 职场文书
护士先进个人总结
2015/02/13 职场文书
辞职信怎么写
2015/02/27 职场文书
只需要12页,掌握撰写一流商业计划书的技巧
2019/05/07 职场文书
Win10服务主机占用内存怎么办?Win10服务主机进程占用大量内存解决方法
2022/09/23 数码科技