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实现2048小游戏
Mar 30 Python
Python运算符重载用法实例分析
Jun 01 Python
python 自动重连wifi windows的方法
Dec 18 Python
Python数据类型之Tuple元组实例详解
May 08 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
May 15 Python
Pandas分组与排序的实现
Jul 23 Python
关于Numpy数据类型对象(dtype)使用详解
Nov 27 Python
Python容器类型公共方法总结
Aug 19 Python
使用Python爬取Json数据的示例代码
Dec 07 Python
python基于Kivy写一个图形桌面时钟程序
Jan 28 Python
python字符串常规操作大全
May 02 Python
Python中time标准库的使用教程
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
snoopy 强大的PHP采集类使用实例代码
2010/12/09 PHP
php删除左端与右端空格的方法
2014/11/29 PHP
thinkphp配置连接数据库技巧
2014/12/02 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
php面向对象与面向过程两种方法给图片添加文字水印
2015/08/26 PHP
orm获取关联表里的属性值
2016/04/17 PHP
在网页中控制wmplayer播放器
2006/07/01 Javascript
Mootools 1.2教程 事件处理
2009/09/15 Javascript
jquery获得keycode的示例代码
2013/12/30 Javascript
Javascript动态创建div的方法
2015/02/09 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
详解angularjs 关于ui-router分层使用
2017/06/12 Javascript
深入解析Vue 组件命名那些事
2017/07/18 Javascript
vue loadmore 组件滑动加载更多源码解析
2017/07/19 Javascript
Node.js学习之TCP/IP数据通讯(实例讲解)
2017/10/11 Javascript
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
解决webpack无法通过IP地址访问localhost的问题
2018/02/22 Javascript
小程序实现单选多选功能
2018/11/04 Javascript
Angular6 Filter实现页面搜索的示例代码
2018/12/02 Javascript
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
2019/08/12 Javascript
React实现todolist功能
2020/12/28 Javascript
Python2.7.10以上pip更新及其他包的安装教程
2018/06/12 Python
Python 实现数据结构-堆栈和队列的操作方法
2019/07/17 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
2019/12/03 Python
基于python计算并显示日间、星期客流高峰
2020/05/07 Python
用CSS禁用输入法(CSS3 UI规范)实例解析
2012/12/04 HTML / CSS
Html5饼图绘制实现统计图的方法
2020/08/05 HTML / CSS
饿了么订餐官网:外卖、网上订餐
2019/06/28 全球购物
娱乐地球:Entertainment Earth
2020/01/08 全球购物
正隆泰信息技术有限公司上机题
2012/06/14 面试题
绝对经典成功的大学生推荐信
2013/11/08 职场文书
学校节能减排倡议书
2014/05/16 职场文书
法制宣传口号
2014/06/16 职场文书
教师调动申请报告
2015/05/18 职场文书
海底两万里读书笔记
2015/06/26 职场文书