当前位置: 首页 > news >正文

python画图|垂线标记系列

进行了一段时间的直方图学习之后,发现python的matplo居然还支持画垂线标记图,赶紧把它记录下来。

直方图绘制教程见下述链接:

【a】直方图绘制基础教程:python画图|直方图绘制教程-CSDN博客

【b】 直方图绘制进阶教程:python画图|直方图绘制教程进阶-CSDN博客

【c】 堆叠直方图绘制教程:python画图|堆叠直方图绘制-CSDN博客

【d】并列直方图绘制教程: python画图|并列直方图绘制-CSDN博客

【e】 水平直方图绘制教程:python画图|水平直方图绘制-CSDN博客

【1】官网教程

直接进入官网,点击下方链接直达:

https://matplotlib.org/stable/gallery/lines_bars_and_markers/stem_plot.html#sphx-glr-gallery-lines-bars-and-markers-stem-plot-py

进入官网以后,我们会看到Stem Plot标记,并且看到一行解释:

stem plots vertical lines from a baseline to the y-coordinate and places a marker at the tip.

stem 可以从基线(x坐标轴)画一条平行于y轴的直线到到目标点,并且给不标点做个突出标记。

然后把代码注释一下:

import matplotlib.pyplot as plt #引入matplotlib模块画图
import numpy as np #引入numpy模块做数学计算x = np.linspace(0.1, 2 * np.pi, 41) #划分自变量的点,范围[0,1,2pi)
y = np.exp(np.sin(x)) #设置因变量plt.stem(x, y) #绘制垂线标记图
plt.show() #输出图形

输出图形为:

558b3e88430f4f2e9d01297ec15f1a85.png

图1

由图1可见,画出了一系列出现,垂线顶端做了圆点标记。

【2】stem属性修改

在官网担负打开stem,可点击下方链接直达:

https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.stem.html#matplotlib.pyplot.stem

会发现stem其实有大量属性可以可以设定:

matplotlib.pyplot.stem(*args, linefmt=None, markerfmt=None, basefmt=None, bottom=0, label=None, orientation='vertical', data=None)

这里的linefmt是线型显示的意思,markerfmt是顶端标记显示的意思,basefmt是基线显示的意思(可以理解为就是x轴),bottom是垂线起始的Y轴坐标值,label是标签,orientation是方向(存在沿着水平方向画垂线的机会)。data为可选输入,无需特别关注。

【2.1】改写bottom

bottom指定了垂线起始的位置,我们尝试将其分别设置为0.5和1.5,改后代码如下(每次输出只选择其中一个):

plt.stem(x, y,bottom=0.5) #绘制垂线标记图
plt.stem(x, y,bottom=1.5) #绘制垂线标记图

9631fa17b62c4500aecc131361745d81.png

图2

9f33c56d29354f56901a2cc639b75886.png

图3

由图3和图3可见,起始线从y=0.5变化到y=1.5。

【2.2】改写orientation

orientation指定了垂线起始的方向,我们尝试将其分别设置为水平和竖直,改后代码如下:

plt.subplot(1,2,1) #绘制左图
plt.stem(x, y,bottom=1.5,orientation='vertical') #绘制垂线标记图,自变量在x轴
plt.subplot(1,2,2)#绘制右图
plt.stem(x, y,bottom=1.5,orientation='horizontal') #绘制垂线标记图,自变量在x轴

输出结果为:

7ed0cc53d4904712b29b171a4f3c6b6f.png

图4

由图4可见,stem实现了对自变量在x轴和y轴的垂线划分和顶端标记。

【2.3】增加垂线密度

尝试把x = np.linspace(0.1, 2 * np.pi, 41)加密,把41更换为101:,改后代码如下:

6644e9e6c3e74b058dc2b3bfbbf9e875.png

图5

由图5可见,出现已经被加密。

【3】总结

本文学习了使用stem()画垂线标记系列,并尝试了改变垂线起始点、修改自变量方向和增高垂线密度等操作。

 

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • PDF样本图册转换为一个链接,随时打开无需印刷
  • 在嵌入式板子上搭建和自定义live555服务器---编译问题和方法整理
  • windows python的jupyter的安装教程
  • s3c2440---ADC模数转换器
  • 微信小程序路由跳转之间的区别
  • 【知识图谱】4、LLM大模型结合neo4j图数据库实现AI问答的功能
  • 会员营销如何利用JSON发送短信
  • 网络安全宗旨和目标
  • 随笔1:数学建模与数值计算
  • 美妆行业的画册电子版如何制作?
  • Quartz.Net_快速开始
  • 什么是AIGC?什么是AGI?
  • python和java哪个发展前景好?
  • 深度学习与大模型第1课环境搭建
  • 找不同-第15届蓝桥省赛Scratch初级组真题第4题
  • (三)从jvm层面了解线程的启动和停止
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • angular组件开发
  • ES6简单总结(搭配简单的讲解和小案例)
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • Mysql数据库的条件查询语句
  • React组件设计模式(一)
  • Spark学习笔记之相关记录
  • Spring-boot 启动时碰到的错误
  • Spring核心 Bean的高级装配
  • Sublime Text 2/3 绑定Eclipse快捷键
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 漂亮刷新控件-iOS
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 小李飞刀:SQL题目刷起来!
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​如何在iOS手机上查看应用日志
  • #if 1...#endif
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • $$$$GB2312-80区位编码表$$$$
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (3)llvm ir转换过程
  • (31)对象的克隆
  • (7)STL算法之交换赋值
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (一)、python程序--模拟电脑鼠走迷宫
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转)VC++中ondraw在什么时候调用的
  • .chm格式文件如何阅读
  • .gitignore文件忽略的内容不生效问题解决
  • .md即markdown文件的基本常用编写语法
  • .Net CoreRabbitMQ消息存储可靠机制
  • .net framework profiles /.net framework 配置
  • .NET 漏洞分析 | 某ERP系统存在SQL注入
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET关于 跳过SSL中遇到的问题
  • .net经典笔试题