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的Django框架安装全攻略
Jul 15 Python
Python 多线程抓取图片效率对比
Feb 27 Python
Django 生成登陆验证码代码分享
Dec 12 Python
python实现简单神经网络算法
Mar 10 Python
python json.loads兼容单引号数据的方法
Dec 19 Python
python按键按住不放持续响应的实例代码
Jul 17 Python
Python Django Cookie 简单用法解析
Aug 13 Python
python访问hdfs的操作
Jun 06 Python
Pytorch mask-rcnn 实现细节分享
Jun 24 Python
Django创建一个后台的基本步骤记录
Oct 02 Python
python 装饰器的使用示例
Oct 10 Python
对Pytorch 中的contiguous理解说明
Mar 03 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基础知识:类与对象(5) static
2006/12/13 PHP
PHP实现定时执行任务的方法
2014/10/05 PHP
php中chdir()函数用法实例
2014/11/13 PHP
Codeigniter校验ip地址的方法
2015/03/21 PHP
php简单实现多字节字符串翻转的方法
2015/03/31 PHP
Thinkphp+smarty+uploadify实现无刷新上传
2015/07/30 PHP
PHP使用curl制作简易百度搜索
2016/11/03 PHP
PHP基于timestamp和nonce实现的防止重放攻击方案分析
2019/07/26 PHP
关于javascript document.createDocumentFragment()
2009/04/04 Javascript
理解JavaScript的caller,callee,call,apply
2009/04/28 Javascript
Javascript 异步加载详解(浏览器在javascript的加载方式)
2012/05/20 Javascript
网站如何做到完全不需要jQuery也可以满足简单需求
2013/06/27 Javascript
JS简单实现登陆验证附效果图
2013/11/19 Javascript
javascript:json数据的页面绑定示例代码
2014/01/26 Javascript
轻松创建nodejs服务器(10):处理POST请求
2014/12/18 NodeJs
移动手机APP手指滑动切换图片特效附源码下载
2015/11/30 Javascript
javascript单页面手势滑屏切换原理详解
2016/03/21 Javascript
基于jQuery的Web上传插件Uploadify使用示例
2016/05/19 Javascript
jQuery实现智能判断固定导航条或侧边栏的方法
2016/09/04 Javascript
JS动态添加选项案例分析
2016/10/17 Javascript
详解数组Array.sort()排序的方法
2020/05/09 Javascript
用js屏蔽被http劫持的浮动广告实现方法
2017/08/10 Javascript
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
2017/09/29 NodeJs
nodejs实现截取上传视频中一帧作为预览图片
2017/12/10 NodeJs
AngularJS下$http服务Post方法传递json参数的实例
2018/03/29 Javascript
JavaScript对象的浅拷贝与深拷贝实例分析
2018/07/25 Javascript
详解如何修改 node_modules 里的文件
2020/05/22 Javascript
Python爬虫获取整个站点中的所有外部链接代码示例
2017/12/26 Python
浅析Python 实现一个自动化翻译和替换的工具
2019/04/14 Python
Pyqt5实现英文学习词典
2019/06/24 Python
OpenCV Python实现拼图小游戏
2020/03/23 Python
Python 连接 MySQL 的几种方法
2020/09/09 Python
Python大批量搜索引擎图像爬虫工具详解
2020/11/16 Python
阿迪达斯加拿大官网:Adidas加拿大
2016/08/25 全球购物
马云北大演讲完整版:真心话,什么才是阿里的核心竞争力?
2014/04/04 职场文书
python数字图像处理实现图像的形变与缩放
2022/06/28 Python