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.index()方法的使用教程
May 20 Python
Django中处理出错页面的方法
Jul 15 Python
简介Python设计模式中的代理模式与模板方法模式编程
Feb 02 Python
Python复数属性和方法运算操作示例
Jul 21 Python
解决python3中自定义wsgi函数,make_server函数报错的问题
Nov 21 Python
基于并发服务器几种实现方法(总结)
Dec 29 Python
Python实现霍夫圆和椭圆变换代码详解
Jan 12 Python
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
Feb 05 Python
python 判断linux进程,并杀死进程的实现方法
Jul 01 Python
Django之PopUp的具体实现方法
Aug 31 Python
Python FFT合成波形的实例
Dec 04 Python
python 进制转换 int、bin、oct、hex的原理
Jan 13 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开发入门教程之面向对象
2006/12/05 PHP
php中日期加减法运算实现代码
2011/12/08 PHP
php中运用http调用的GET和POST方法示例
2014/09/29 PHP
ThinkPHP模版引擎之变量输出详解
2014/12/05 PHP
Yii2基于Ajax自动获取表单数据的方法
2016/08/10 PHP
PHP与服务器文件系统的简单交互
2016/10/21 PHP
PHP实现限制IP访问及提交次数的方法详解
2017/07/17 PHP
PHP通过curl获取接口URL的数据方法
2018/05/31 PHP
写出更好的JavaScript之undefined篇(上)
2009/11/22 Javascript
DLL+ ActiveX控件+WEB页面调用例子
2010/08/07 Javascript
javascript 兼容各个浏览器的事件
2015/02/04 Javascript
JQuery中使文本框获得焦点的方法实例分析
2015/02/28 Javascript
BootstrapTable refresh 方法使用实例简单介绍
2017/02/20 Javascript
微信小程序自定义tab实现多层tab嵌套功能
2018/06/15 Javascript
Vue 样式绑定的实现方法
2019/01/15 Javascript
javascript实现日历效果
2019/06/17 Javascript
微信小程序如何获取群聊的openGid以及名称详解
2019/07/17 Javascript
JS如何监听div的resize事件详解
2020/12/03 Javascript
[02:05]2014DOTA2西雅图邀请赛 专访啸天mik夫妻档
2014/07/08 DOTA
[00:09]DOTA2新版本PA至宝特效动作展示
2014/11/19 DOTA
Python处理XML格式数据的方法详解
2017/03/21 Python
python爬虫框架scrapy实战之爬取京东商城进阶篇
2017/04/24 Python
基于Django用户认证系统详解
2018/02/21 Python
python opencv之SIFT算法示例
2018/02/24 Python
对python list 遍历删除的正确方法详解
2018/06/29 Python
Python理解递归的方法总结
2019/01/28 Python
python实现比较类的两个instance(对象)是否相等的方法分析
2019/06/26 Python
Django 实现图片上传和显示过程详解
2019/07/18 Python
使用 Python 清理收藏夹里已失效的网站
2019/12/03 Python
KIKO MILANO俄罗斯官网:意大利领先的化妆品和护肤品品牌
2021/01/09 全球购物
自我介绍演讲稿
2014/01/15 职场文书
放飞中国梦演讲稿
2014/04/23 职场文书
践行三严三实心得体会
2014/10/13 职场文书
先进个人申报材料
2014/12/30 职场文书
长征观后感
2015/06/09 职场文书
Python实战之实现简易的学生选课系统
2021/05/25 Python