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中请使用isinstance()判断变量类型
Aug 25 Python
Python获取文件ssdeep值的方法
Oct 05 Python
python获取本地计算机名字的方法
Apr 29 Python
Python lxml模块安装教程
Jun 02 Python
详谈python在windows中的文件路径问题
Apr 28 Python
Python 最大概率法进行汉语切分的方法
Dec 14 Python
python使用suds调用webservice接口的方法
Jan 03 Python
python列表生成器迭代器实例解析
Dec 19 Python
python打开音乐文件的实例方法
Jul 21 Python
python爬取网页版QQ空间,生成各类图表
Jun 02 Python
 分享一个Python 遇到数据库超好用的模块
Apr 06 Python
Python万能模板案例之matplotlib绘制甘特图
Apr 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
使用HMAC-SHA1签名方法详解
2013/06/26 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
2020/04/23 PHP
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
2007/04/01 Javascript
javascript 写类方式之六
2009/07/05 Javascript
yepnope.js 异步加载资源文件
2011/09/08 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
2012/05/23 Javascript
TypeScript具有的几个不同特质
2015/04/07 Javascript
学习JavaScript设计模式(继承)
2015/11/26 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
2016/06/09 Javascript
浅谈jquery中next与siblings的区别
2016/10/27 Javascript
NodeJS整合银联网关支付(DEMO)
2016/11/09 NodeJs
AngularJS实现ajax请求的方法
2016/11/22 Javascript
用 js 的 selection range 操作选择区域内容和图片
2017/04/18 Javascript
JS实现点击链接切换显示隐藏内容的方法
2017/10/19 Javascript
AngularJS遍历获取数组元素的方法示例
2017/11/11 Javascript
react中实现搜索结果中关键词高亮显示
2018/07/31 Javascript
详解小程序BackgroundAudioManager踩坑之旅
2019/12/08 Javascript
vue中使用v-for时为什么不能用index作为key
2020/04/04 Javascript
Python迭代器和生成器介绍
2015/03/06 Python
Django 如何获取前端发送的头文件详解(推荐)
2017/08/15 Python
Python使用arrow库优雅地处理时间数据详解
2017/10/10 Python
python调用虹软2.0第三版的具体使用
2019/02/22 Python
Django模型序列化返回自然主键值示例代码
2019/06/12 Python
PyQt5 窗口切换与自定义对话框的实例
2019/06/20 Python
python 使用shutil复制图片的例子
2019/12/13 Python
Python基础之列表常见操作经典实例详解
2020/02/26 Python
Matplotlib 折线图plot()所有用法详解
2020/07/28 Python
物流司机岗位职责
2013/12/28 职场文书
优秀家长事迹材料
2014/05/17 职场文书
竞选班干部演讲稿100字
2014/08/20 职场文书
“三支一扶”支教教师思想汇报
2014/09/13 职场文书
合作意向协议书
2015/01/29 职场文书
销售辞职信范文
2015/03/02 职场文书
个人催款函范文
2015/06/23 职场文书
MySQL学习必备条件查询数据
2022/03/25 MySQL