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实现超简单端口转发的方法
Mar 13 Python
Python中import机制详解
Nov 14 Python
python2.7读取文件夹下所有文件名称及内容的方法
Feb 24 Python
django用户注册、登录、注销和用户扩展的示例
Mar 19 Python
Python3.4 tkinter,PIL图片转换
Jun 21 Python
pytorch训练imagenet分类的方法
Jul 27 Python
Python中按值来获取指定的键
Mar 04 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
Feb 12 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
Feb 25 Python
python图片剪裁代码(图片按四个点坐标剪裁)
Mar 10 Python
Python  word实现读取及导出代码解析
Jul 09 Python
用python绘制樱花树
Oct 09 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
一个查看session内容的函数
2006/10/09 PHP
提高define性能的php扩展hidef的安装和使用
2011/06/14 PHP
PHP管理内存函数 memory_get_usage()使用介绍
2012/09/23 PHP
javascript 拖动表格行实现代码
2011/05/05 Javascript
不要使用jQuery触发原生事件的方法
2014/03/03 Javascript
一个JavaScript的求爱小特效
2014/05/09 Javascript
JavaScript用JQuery呼叫Server端方法示例代码
2014/09/03 Javascript
javascript面向对象之this关键词用法分析
2015/01/13 Javascript
Node.js node-schedule定时任务隔多少分钟执行一次的方法
2015/02/10 Javascript
JavaScript Function函数类型介绍
2015/04/08 Javascript
JavaScript使用Replace进行字符串替换的方法
2015/04/14 Javascript
jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法
2015/11/23 Javascript
完美实现js拖拽效果 return false用法详解
2017/07/28 Javascript
用nodejs实现json和jsonp服务的方法
2017/08/25 NodeJs
JavaScript实现多重继承的方法分析
2018/01/09 Javascript
使用Vue构建可重用的分页组件
2018/03/26 Javascript
vue和webpack打包项目相对路径修改的方法
2018/06/15 Javascript
在Vue项目中使用snapshot测试的具体使用
2019/04/16 Javascript
javascript设计模式 ? 建造者模式原理与应用实例分析
2020/04/10 Javascript
JS JQuery获取data-*属性值方法解析
2020/09/01 jQuery
Python中的文件和目录操作实现代码
2011/03/13 Python
Python 含参构造函数实例详解
2017/05/25 Python
Python进阶学习之特殊方法实例详析
2017/12/01 Python
符合语言习惯的 Python 优雅编程技巧【推荐】
2018/09/25 Python
Python实现K折交叉验证法的方法步骤
2019/07/11 Python
pytorch 更改预训练模型网络结构的方法
2019/08/19 Python
python 消费 kafka 数据教程
2019/12/21 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
2020/06/24 Python
蔻驰意大利官网:COACH意大利
2019/01/16 全球购物
女性时尚在线:IVRose
2019/02/23 全球购物
自考生自我鉴定范文
2013/10/01 职场文书
亲子运动会的活动方案
2014/08/17 职场文书
幼师个人总结范文
2015/02/28 职场文书
七一晚会主持词
2015/06/29 职场文书
在redisCluster中模糊获取key方式
2021/07/09 Redis
分享一个vue实现的记事本功能案例
2022/04/11 Vue.js