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实现系统状态监测和故障转移实例方法
Nov 18 Python
Python随机生成信用卡卡号的实现方法
May 14 Python
python实现发送和获取手机短信验证码
Jan 15 Python
Python的语言类型(详解)
Jun 24 Python
详谈python3中用for循环删除列表中元素的坑
Apr 19 Python
Python基于class()实现面向对象原理详解
Mar 26 Python
Python logging模块写入中文出现乱码
May 21 Python
Python列表如何更新值
May 27 Python
使用sklearn对多分类的每个类别进行指标评价操作
Jun 11 Python
Python3爬虫中Splash的知识总结
Jul 10 Python
Python中os模块的简单使用及重命名操作
Apr 17 Python
django注册用邮箱发送验证码的实现
Apr 18 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学习之数据类型之间的转换代码
2011/05/29 PHP
php生成局部唯一识别码LUID的代码
2012/10/06 PHP
Symfony实现行为和模板中取得request参数的方法
2016/03/17 PHP
php时间计算相关问题小结
2016/05/09 PHP
javascript 操作select下拉列表框的一点小经验
2010/03/20 Javascript
jQuery+ajax实现鼠标单击修改内容的方法
2014/06/27 Javascript
详解JavaScript的策略模式编程
2015/06/24 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
2016/09/23 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
2016/11/10 Javascript
Bootstrap 手风琴菜单的实现代码
2017/01/20 Javascript
详解vue父子组件间传值(props)
2017/06/29 Javascript
JS实现点击链接切换显示隐藏内容的方法
2017/10/19 Javascript
利用JQUERY实现多个AJAX请求等待的实例
2017/12/14 jQuery
webpack本地开发环境无法用IP访问的解决方法
2018/03/20 Javascript
vue使用中的内存泄漏【推荐】
2018/07/10 Javascript
详解jQuery-each()方法
2019/03/13 jQuery
EasyUI 数据表格datagrid列自适应内容宽度的实现
2019/07/18 Javascript
[04:03]DOTA2肉山黑名单梦之声 风暴之灵中文配音鉴赏
2013/07/03 DOTA
[20:46]Ti4循环赛第三日VG vs DK
2014/07/12 DOTA
零基础写python爬虫之打包生成exe文件
2014/11/06 Python
浅谈Python对内存的使用(深浅拷贝)
2018/01/17 Python
Python中猜拳游戏与猜筛子游戏的实现方法
2020/09/04 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
2020/12/17 Python
HTML5+Canvas+CSS3实现齐天大圣孙悟空腾云驾雾效果
2016/04/26 HTML / CSS
公司业务主管岗位职责
2013/12/07 职场文书
小学生环保演讲稿
2014/04/25 职场文书
四年级小学生评语
2014/12/26 职场文书
秦始皇兵马俑导游词
2015/02/02 职场文书
小学安全工作总结2015
2015/05/18 职场文书
中学后勤工作总结2015
2015/07/22 职场文书
2015年环卫处个人工作总结
2015/07/27 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书
新学期小学班主任工作计划
2019/06/21 职场文书
面试必问:圣杯布局和双飞翼布局的区别
2021/05/13 HTML / CSS
Python并发编程实例教程之线程的玩法
2021/06/20 Python
Mysql 文件配置解析介绍
2022/05/06 MySQL