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编写web API的教程
Apr 30 Python
Python中的getopt函数使用详解
Jul 28 Python
python 添加用户设置密码并发邮件给root用户
Jul 25 Python
python 2.6.6升级到python 2.7.x版本的方法
Oct 09 Python
Python爬取qq music中的音乐url及批量下载
Mar 23 Python
全面了解Nginx, WSGI, Flask之间的关系
Jan 09 Python
Python第三方库face_recognition在windows上的安装过程
May 03 Python
Python两台电脑实现TCP通信的方法示例
May 06 Python
Python使用pyautocad+openpyxl处理cad文件示例
Jul 11 Python
Python3 批量扫描端口的例子
Jul 25 Python
python实现统计代码行数的小工具
Sep 19 Python
Python pygame实现中国象棋单机版源码
Jun 20 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
TMDPHP 模板引擎使用教程
2012/03/13 PHP
Yii学习总结之安装配置
2015/02/22 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
php实现网站留言板功能
2015/11/04 PHP
thinkphp分页实现效果
2016/10/13 PHP
PDO::getAttribute讲解
2019/01/28 PHP
破除网页鼠标右键被禁用的绝招大全
2006/12/27 Javascript
基于jquery的超简单上下翻
2010/04/20 Javascript
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
2013/12/14 Javascript
jquery遍历checkbox介绍
2014/02/21 Javascript
JavaScript实现的简单幂函数实例
2015/04/17 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
JavaScript实现显示函数调用堆栈的方法
2016/04/21 Javascript
数据结构中的各种排序方法小结(JS实现)
2016/07/23 Javascript
canvas绘制一个常用的emoji表情
2017/03/30 Javascript
JS匹配日期和时间的正则表达式示例
2017/05/12 Javascript
nodejs使用express获取get和post传值及session验证的方法
2017/11/09 NodeJs
全面介绍vue 全家桶和项目实例
2017/12/27 Javascript
微信小程序使用npm支持踩坑
2018/11/07 Javascript
Python中使用glob和rmtree删除目录子目录及所有文件的例子
2014/11/21 Python
Python对CSV、Excel、txt、dat文件的处理
2018/09/18 Python
python实现微信定时每天和女友发送消息
2019/04/29 Python
python递归法实现简易连连看小游戏
2020/03/25 Python
python如何实现复制目录到指定目录
2020/02/13 Python
python实现人脸签到系统
2020/04/13 Python
python re模块常见用法例举
2021/03/01 Python
CSS3对图片照片进行边缘模糊处理的实现
2018/08/08 HTML / CSS
法国太阳镜店:Sunglasses Shop
2016/08/27 全球购物
Expedia瑞典官网:预订度假屋、酒店、汽车租赁、机票等
2021/01/23 全球购物
"引用"与多态的关系
2013/02/01 面试题
大专毕业生自我鉴定
2013/11/21 职场文书
初三学习决心书
2014/03/11 职场文书
2015公司年度工作总结
2015/05/14 职场文书
2016年世界艾滋病日宣传活动总结
2016/04/01 职场文书
干货!开幕词的写作方法
2019/04/02 职场文书
jquery插件实现悬浮的菜单
2021/04/24 jQuery