我们在matplotlib基础中提过图表是由艺术家使用渲染器在画布上完成的。

而艺术家有两种类型:图元与容器。图元表示绘制在画布上的标准图形对象,如:Line2D,容器是放置图元的位置如:Axis,Axes和Figure。标准用法是创建一个Figure实例,使用Figure来创建一个或多个Axes或Subplot实例,并使用Axes实例的辅助方法创建图元。

Axes实例中有20个基础的辅助制图方法,其中plot, bar, scatter我们已经非常熟悉了,本例我们将了解vlines与hlines的使用方法。

仅从签名即可看出,调用vlines方法至少需要 x, ymin, ymax 3个参数,用于交代清楚垂线的位置及长度。

在vlines内部,x, ymin, ymax将转换为LineCollection接受的样式,保存在形如(len(x), 2, 2)的MaskedArray中。表示有len(x)条线,每条线有2个顶点,每个顶点有2个要素(x, y)

x = [.2, .4, .6, .8]

ymin = [.1, .3, .5, .7]

ymax = [.3, .5, .7, .9]

masked_verts = np.ma.empty((len(x), 2, 2))

masked_verts[:, 0, 0] = x

masked_verts[:, 0, 1] = ymin

masked_verts[:, 1, 0] = x

masked_verts[:, 1, 1] = ymax

lines = LineCollection(masked_verts)

我们准备了一组数据,数据的图形相信已经浮现在大家的眼前了。如果在脑中画图还不够熟练,就自己画一张看看 plt.vlines(x, ymin, ymax)

之后我们把它转换为MaskedArray,并作为参数实例化LineCollection,最后添加到axes

fig1, ax1 = plt.subplots()

ax1.add_collection(lines)

我们可以这样在中间画一条竖线

ax1.collections[0]._paths.append(Path([[.5,.1],[.5,.9]]))

vlines & hlines 的一般用法

t = np.arange(0.0, 5.0, 0.1)

s = np.exp(-t) + np.sin(2 * np.pi * t) + 1

nse = np.random.normal(0.0, 0.3, t.shape) * s

fig, (vax, hax) = plt.subplots(1, 2, figsize=(12, 6))

vax.plot(t, s + nse, '^')

vax.vlines(t, [0], s)

vax.vlines([1, 2], 0, 1, transform=vax.get_xaxis_transform(), colors='r')

vax.set_title('竖线')

hax.plot(s + nse, t, '^')

hax.hlines(t, [0], s, lw=2)

hax.set_title('横线')

python竖线_Matplotlib示例.43 横线与竖线相关推荐

  1. python横线和竖线_Matplotlib示例.43 横线与竖线

    我们在matplotlib基础中提过图表是由艺术家使用渲染器在画布上完成的. 而艺术家有两种类型:图元与容器.图元表示绘制在画布上的标准图形对象,如:Line2D,容器是放置图元的位置如:Axis,A ...

  2. 高阻态是0还是1_羽毛球拍穿线,先拉横线还是竖线?是否横线要比竖线高1到2磅?...

    在工作的过程中,小编也偶尔客串一下羽毛球拍穿线师的角色,看着一根线在自己的手中上下穿梭最终定格在一支羽毛球拍上,小小的成就感心中还是有的,结合自己的穿线经验和请教的国际穿线师们,小编对羽毛球拍穿线中的 ...

  3. 在Project软件的甘特图中添加横线和竖线

    出于各种原因,我们有时候想在Project软件的甘特图区域添加横线或竖线. 比如爱美,想让计划显示的更漂亮一些. 比如眼神不好,怕左边的任务名称和右边的横道图看串行(我是认真的). 比如好奇,看到人家 ...

  4. python脚本中sparksql split |竖杠竖线

    python脚本中sparksql split |竖杠竖线 python脚本中spark-sql -e 需要拆分 '|' 连接字段,需要5个 反斜杠 \转义 如: spark-sql -e 'sele ...

  5. python 加速器 numba 示例

    python 加速器 numba 示例 官方文档 http://numba.pydata.org/numba-doc/latest/user/index.html 示例代码 # pip install ...

  6. python 装饰器示例

    python 装饰器示例 import timedef decorator(func): # 传函数def wrapper(*args, **kwargs): # 传参数(也可以传固定参数)start ...

  7. python软件代码示例-python 示例代码1

    第一章 python基础一 ​在此不再赘述为什么学习python这门编程,网上搜索一箩筐.我在此仅说一句python的好,用了你就会爱上它. 本python示例代码1000+带你由浅入深的了解pyth ...

  8. python爬虫入门实例-终于领会python爬虫入门示例

    随着人工智能 大数据的火热 Python成为了广大科学家和普通大众的学习语言.在学习Python的过程中 有很多人感到迷茫 不知道自己该从什么地方入手,今天我们就来说一些新手该如何学习Python编程 ...

  9. python入门代码示例-总算知道python入门代码示例

    Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.作为今年来越来越流行的语言,我们该如何学习或者转行学习Python呢,这里小迹为大家介绍如何入门学习Python.以下是小编为你整理 ...

  10. python怎么反转单链表_单链表反转python实现代码示例

    单链表的反转可以使用循环,也可以使用递归的方式 1.循环反转单链表 循环的方法中,使用pre指向前一个结点,cur指向当前结点,每次把cur->next指向pre即可. 代码: class Li ...

最新文章

  1. 重磅 | 中国工程院提出新一代智能制造【附下载】
  2. iOS 向下取整、向上取整、四舍五入
  3. android分享软件功能的实现
  4. 深度解析HashMap高频面试及底层实现架构!
  5. OpenCV cv2.putText实现字符串换行'\n'
  6. 高性能全数字嵌入式仿真测试软件SkyEye支持多达70余种核心
  7. Read the Docs 文档管理
  8. linux打开anaconda的jupyter_Linux Centos7安装anaconda3和jupyter
  9. (可行方案)mysql5.7.9安装教程
  10. 删除一个用户下的所有表脚本
  11. 20171006-构建之法:现代软件工程-阅读笔记
  12. 网易云解析接口PHP源码,网易云解析/接口
  13. python反编译class文件_反编译java class文件
  14. 毕设+电路板(BTN7960驱动电路+LM2596/AMS117稳压电路+蜂鸣器+STM32F103C8T6最小系统电路)
  15. VR全景,带您“飞临”探秘北京2022年冬奥会
  16. MaixII-Dock(v831)学习笔记——初识v831
  17. 突变!微软将结束对Office Android应用的支持
  18. #C语言[Basic I/O] A-B
  19. MySQL--SQL执行顺序详解
  20. 灰色关联度矩阵——MATLAB在数学建模中的应用

热门文章

  1. 咸蛋超人的CxImage学习之路(一)
  2. 通过银行卡前缀判断归属
  3. C++多线程卡死问题--访问冲突未必崩溃
  4. KK(凯文·凯利) 给年轻人的68条建议
  5. CTF 关于linux 7z解压的一点trick
  6. English 介词
  7. stm32f103c8t9控制TFT显示屏
  8. 联想y7000电脑未正确启动_win10无法开机提示“你的电脑未正确启动”的解决方案...
  9. win10笔记本电脑键盘没反应是哪个键锁了
  10. Untiy Shader - Metallic vs Specular Workflow 金属 vs 高光的工作流