散点图

散点图显示两组数据的值,如图1-1所示。每个点的坐标位置由变量的值决定,并由一组不连接的点完成,用于观察两种变量的相关性。例如,身高—体重、温度—维度。

图1-1 散点图示例
使用Matplotlib的scatter()函数绘制散点图,其中x和y是相同长度的数组序列。scatter()函数的一般用法为:
主要参数说明如下:
  • x,y:数组。

  • s:散点图中点的大小,可选。

  • c:散点图中点的颜色,可选。

  • marker:散点图的形状,可选。

  • alpha:表示透明度,在 0~1 取值,可选。

  • linewidths:表示线条粗细,可选。

示例:绘制身高—体重的散点图
运行脚本输出如图1-2所示的图形。

图1-2 基本的散点图
散点图主要演示两个变量的相关性:正相关、负相关、不相关。
示例:显示y=2x+1的图形

Matplotlib中最基础的模块是Pyplot, 下面从最简单的线图开始讲解。例如,有一组数据,还有一个拟合模型,通过编写代码来实现数据与模型结果的可视化。
假设一个线性函数具有形式y=ax+b, 自变量是x,因变量是y,y轴截距为b,斜率为a。
下面用简单的数据来描述线性方程y=2x+1,代码如下:
运行脚本输出如图2-2所示的图形。

图2-2 基本直线图
在图2-2中,使用线性方程y=2x+1画出的是直线图。如果想画出曲线图,则只需更改线性方程为,完整代码如下:

运行脚本输出如图2-3所示的图形。

图2-3 曲线图

直方图
直方图由一系列高度不等的纵向条形组成,表示数据分布的情况。例如,某年级学生的身高分布情况,如图4-1所示。

图4-1 直方图
直方图与柱状图的区别有以下几点:
1. 柱状图是用条形的长度表示各类别频数的多少,其宽度(表示类别)是固定的,主要是展示不同类别的数据。 
2. 直方图是用面积表示各组频数的多少,矩形的高度表示每一组的频数 ( 或频率 ),宽度则表示各组的组距,因此其高度与宽度均有意义。 
3. 由于分组数据具有连续性,因此直方图的各矩形通常是连续排列,而柱状图则是分开排列。 
4. 柱状图主要用于展示分类型数据,而直方图主要用于展示数据型数据。 
使用Matplotlib的hist()函数绘制直方图,hist()函数的一般用法为:
主要参数说明如下:
• bins:直方图中箱子 (bin) 的总个数。个数越多,条形带越紧密。 
• color:箱子的颜色。 

• normed:对数据进行正则化。决定直方图y轴的取值是某个箱子中的元素的个数 (normed=False), 还是某个箱子中的元素的个数占总体的百分比 (normed=True)。

在介绍直方图之前,先来了解什么是正太分布。
正态分布也称常态分布,是连续随机变量概率分布的一种,自然界、人类社会、心理和教育中的大量现象均按正态形式分布。例如,能力的高低、学生成绩的好坏等都属于正态分布。正态分布曲线呈钟形,两头低,中间高,左右对称。因其曲线呈钟形,所以人们又经常称之为钟形曲线,如图4-2所示。

图4-2 正态分布的钟形曲线

正态分布有两个参数,即均值和标准差。均值是正态分布的位置参数,描述正态分布的集中趋势位置。概率规律为:取与均值越近的值的概率越大,而取离均值越远的值的概率越小。

标准差描述正态分布资料数据分布的离散程度,标准差越大,数据分布越分散;标准差越小,数据分布越集中。标准差也是正态分布的形状参数,标准差越大,曲线越扁平;反之,标准差越小,曲线越瘦高。

绘制直方图,需要使用NumPy的np.random.randn(N)函数,这个函数的作用就是从标准正态分布中返回N个样本值。 
示例:直方图
本例文件名为
“PythonFullStackChapter07mpl_hist01”
显示直方图。其完整代码如下:
运行脚本输出如图4-3所示的图形。

图4-3 直方图 

如果你对 matplotlib 感兴趣

推荐订阅专栏《案例上手 Python 数据可视化》

扫码试读了解课程

点击阅读原文,试读了解 Python 数据可视化。

Python 绘图,我只用 Matplotlib相关推荐

  1. Python 绘图问题:Matplotlib中plt.rcParams[]使用方法 rcsetup.py matplotlibrc

    文章目录 from `__init__.py` from matplotlibrc from rcsetup.py from __init__.py # this is the instance us ...

  2. (七)Python绘图基础:Matplotlib绘图

    目录 Matplotlib绘图 折线图 绘制一组数据 绘制多组数据 散点图(scatter) 条形图(竖) 条形图(横) 饼图 Matplotlib属性 保存图片 色彩和样式 文字 其他属性 绘制子图 ...

  3. Python 绘图与可视化 matplotlib 制作Gif动图

    参考链接:https://blog.csdn.net/theonegis/article/details/51037850 官方文档:https://matplotlib.org/3.1.0/api/ ...

  4. python绘图工具基础-matplotlib学习之基本使用

    matplotlib学习之基本使用 1.figure学习2.设置坐标轴3.Legend 图例4.Annotation 标注5.tick能见度 1.figure学习 导包 import matplotl ...

  5. python绘图之使用matplotlib连接两个点

    使用matplotlib连接两个点. 如下所示,需要注意的是点的坐标之间的对应关系 import matplotlib.pyplot as pltx = [[1, 3, 2, 5]] # 要连接的点的 ...

  6. python绘图:截取matplotlib colormap色谱的一部分

    点赞发Nature 关注中Science matplotlib.colors中,整个色谱的频段太宽,边缘区域的颜色太深,不适合作图,我们希望截图整个色谱的一部分用于作图,以下是代码: import m ...

  7. Python绘图(一):坐标轴刻度及范围设置

    python绘图一般使用matplotlib.pandas等,本示例使用matplotlib进行简单的python绘图的坐标轴设置 1 定义坐标轴字体 plt.rc('font',family='Ti ...

  8. Python绘图(二):图例设置

    python绘图一般使用matplotlib.pandas等,本示例使用matplotlib进行简单的python绘图的图例设置 1 图例属性 #1:几条线设置几个标签 #2:fontsize:字体大 ...

  9. python入门指南bl-Python Matplotlib 绘图使用指南 (附代码)

    雷锋网(公众号:雷锋网)按:本文为雷锋字幕组编译的技术博客,原标题 Matplotlib Plotting Guide, 作者为 Prince Grover. 翻译 | 李振 于志鹏 整理 | 凡江 ...

  10. python绘图模块pandas_python绘图:matplotlib和pandas的应用

    在进行数据分析时,绘图是必不可少的模式探索方式.用Python进行数据分析时,matplotlib和pandas是最常用到的两个库. 1.matplotlib库的应用 准备工作如下:打开ipython ...

最新文章

  1. 数字通信介绍(4) OFDM为何如此热门?
  2. 【VMware vSphere】VMware vSphere简单了解
  3. 字节输出流写多个字节的方法
  4. map和list遍历基础
  5. mysql事件定时_MySQL事件(定时任务)
  6. linux etc 服务启动脚本,linux 服务脚本启动问题
  7. MaxCompute 中的Code Generation技术简介
  8. tomcat 使用 memcached管理session ,并且实现统一登录
  9. 如果出现这些,你就必须跳槽了
  10. 001----Mysql隔离级别
  11. 淘宝客高手必备的14大WordPress插件
  12. 安川服务器电源板过流维修,安川伺服驱动器驱动板维修常见故障
  13. 英语数字听力训练精灵
  14. 一 ARM9(S3C2440)的中断系统——理论知识
  15. PostgreSQL-11.7关系型数据库源码安装
  16. Strings、bytes and runes -- 就要学习 Go 语言
  17. Windows 10突然断网,Intel(R) Wireless-AC 9462 该设备无法启动
  18. Tomcat内存溢出原因分析
  19. 图片放在ppt里特别大怎么办?图片尺寸的修改方法
  20. 在NP下用OD调试游戏的方法(转)

热门文章

  1. 谁的世界,哪一个梦想?
  2. windows 上安装 python3.7 和 pip 并配置虚拟环境
  3. 在ubuntu安装使用miniconda
  4. 力扣--260只出现一次的数字I-III
  5. 【OpenCV】图像金字塔
  6. 剑指offer之机器人的运动轨迹
  7. 关于Linux的close函数的注意点
  8. Flutter基础—绘画效果之不透明度
  9. 给Python初学者的入门课程建议
  10. Maven搭建多模块企业级项目+SSM框架搭建