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 list 合并连接字符串的方法
Mar 09 Python
python在指定目录下查找gif文件的方法
May 04 Python
Python实现PS滤镜特效之扇形变换效果示例
Jan 26 Python
对python .txt文件读取及数据处理方法总结
Apr 23 Python
通过python顺序修改文件名字的方法
Jul 11 Python
python flask实现分页的示例代码
Aug 02 Python
Python函数返回不定数量的值方法
Jan 22 Python
python之信息加密题目详解
Jun 26 Python
python django下载大的csv文件实现方法分析
Jul 19 Python
python实现图片九宫格分割
Mar 07 Python
Python sorted对list和dict排序
Jun 09 Python
Python应用自动化部署工具Fabric原理及使用解析
Nov 30 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
Cakephp 执行主要流程
2010/03/24 PHP
PHP多线程之内部多线程实例分析
2015/03/09 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
PHP yield关键字功能与用法分析
2019/01/03 PHP
PHP与Web页面的交互示例详解二
2020/08/04 PHP
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
JS的replace方法详细介绍
2012/11/09 Javascript
js实现刷新iframe的方法汇总
2015/04/27 Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
2015/12/16 Javascript
js从外部获取图片的实现方法
2016/08/05 Javascript
jQuery中页面返回顶部的方法总结
2016/12/30 Javascript
创建一般js对象的几种方式
2017/01/19 Javascript
JavaScript创建对象的七种方式(推荐)
2017/06/26 Javascript
tangram.js库实现js类的方式实例分析
2018/01/06 Javascript
Electron autoUpdater实现Windows安装包自动更新的方法
2018/12/24 Javascript
vuex + keep-alive实现tab标签页面缓存功能
2019/10/17 Javascript
在Express中提供静态文件的实现方法
2019/10/17 Javascript
JavaScript实现随机点名程序
2020/03/25 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
VsCode里的Vue模板的实现
2020/08/12 Javascript
浅谈python中的面向对象和类的基本语法
2016/06/13 Python
python处理按钮消息的实例详解
2017/07/11 Python
Python实现基于C/S架构的聊天室功能详解
2018/07/07 Python
pandas 将索引值相加的方法
2018/11/15 Python
Python 数值区间处理_对interval 库的快速入门详解
2018/11/16 Python
pycham查看程序执行的时间方法
2018/11/29 Python
python实现求特征选择的信息增益
2018/12/18 Python
Python实现淘宝秒杀功能的示例代码
2021/01/19 Python
AmazeUI 加载进度条的实现示例
2020/08/20 HTML / CSS
中东地区最大的奢侈品市场:The Luxury Closet
2019/04/09 全球购物
英国领先的鞋类零售商和顶级品牌的官方零售商:Wynsors
2020/02/17 全球购物
求职信的要素有哪些呢
2013/12/26 职场文书
财务会计专业个人求职信范本
2014/01/08 职场文书
毕业自我评价
2014/02/05 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
python基础之函数的定义和调用
2021/10/24 Python