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实现从网络下载文件并获得文件大小及类型的方法
Apr 28 Python
Python的Bottle框架中实现最基本的get和post的方法的教程
Apr 30 Python
详细解析Python中的变量的数据类型
May 13 Python
在Python中操作日期和时间之gmtime()方法的使用
May 22 Python
使用CodeMirror实现Python3在线编辑器的示例代码
Jan 14 Python
python 实现一次性在文件中写入多行的方法
Jan 28 Python
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
Jul 04 Python
numpy.transpose()实现数组的转置例子
Dec 02 Python
基于python纯函数实现井字棋游戏
May 27 Python
python从PDF中提取数据的示例
Oct 30 Python
Python获取指定网段正在使用的IP
Dec 14 Python
python实现简单石头剪刀布游戏
Oct 24 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 图像处理类1
2009/06/15 PHP
3个PHP多维数组转为一维数组的方法实例
2014/03/13 PHP
php调整服务器时间的方法
2015/04/03 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
2016/05/16 PHP
Laravel重写用户登录简单示例
2016/10/08 PHP
PHP PDOStatement::fetchObject讲解
2019/02/01 PHP
js判断IE6/IE7/FF的代码[XMLHttpRequest]
2011/02/16 Javascript
把jquery 的dialog和ztree结合实现步骤
2013/08/02 Javascript
屏蔽相应键盘按钮操作
2014/03/10 Javascript
jqGrid读取选择的多行的某个属性代码
2014/05/18 Javascript
JQuery1.8 判断元素是否绑定事件的方法
2014/07/10 Javascript
AngularJS学习笔记之基本指令(init、repeat)
2015/06/16 Javascript
javascript实现Email邮件显示与删除功能
2015/11/21 Javascript
Sublime Text 3常用插件及安装方法
2015/12/16 Javascript
JavaScript之json_动力节点Java学院整理
2017/06/29 Javascript
详解vue 模拟后台数据(加载本地json文件)调试
2017/08/25 Javascript
vue实现前进刷新后退不刷新效果
2018/01/26 Javascript
详解Node.js amqplib 连接 Rabbit MQ最佳实践
2019/01/24 Javascript
详解vue路由篇(动态路由、路由嵌套)
2019/01/27 Javascript
细述Javascript的加法运算符的具体使用
2019/10/18 Javascript
python中Matplotlib实现绘制3D图的示例代码
2017/09/04 Python
python使用pil进行图像处理(等比例压缩、裁剪)实例代码
2017/12/11 Python
python如何从文件读取数据及解析
2019/09/19 Python
Python中socket网络通信是干嘛的
2020/05/27 Python
利用CSS3制作简单的3d半透明立方体图片展示
2017/03/25 HTML / CSS
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
html5 worker 实例(二) 图片变换效果
2013/06/24 HTML / CSS
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
Antonioli美国在线商店:时尚前卫奢华
2019/07/29 全球购物
管理信息系学生的自我评价
2014/01/11 职场文书
纪念九一八爱国演讲稿600字
2014/09/14 职场文书
党员对照检查剖析材料
2014/10/13 职场文书
2014年大学生村官工作总结
2014/11/19 职场文书
承诺保证书格式
2015/02/28 职场文书
《称赞》教学反思
2016/02/17 职场文书
创业计划书之废品回收
2019/09/26 职场文书