Python库matplotlib之四

Python库matplotlib之四

  • 小部件(widget)
    • RadioButtons
      • 构造器
      • APIs
      • 应用实列
    • Slider
      • 构造器
      • APIs
      • 应用实列

小部件(widget)

小部件(widget)可与任何GUI后端一起工作。所有这些小部件都要求预定义一个Axes实例,并将其作为第一个参数传递。 Matplotlib不会试图布局这些小部件,所以,您必须自己决定Axes的宽度和高度,以便容纳这些小部件。

RadioButtons

RadioButtons的属性

  • ax,该属性的类型是Axes,RadioButtons将在其中显示。
  • activecolor,该属性的类型是color。所选按钮的颜色。
  • labels,该属性的类型是Text列表。按钮标签。
  • value_selected,该属性的类型是字符串。当前所选按钮的标签文本。
  • index_selected,该属性的类型是int。所选按钮的索引。

构造器

词法:matplotlib.widgets.RadioButtons(ax, labels, active=0, activecolor=None, *, useblit=True, label_props=None, radio_props=None)

构造一个单选按钮。为了使按钮保持响应,您必须保留对此对象的引用。使用 on_clicked方法连接到RadioButton。

参数说明

  • ax,该参数类型是Axes。按钮将被放置到该Axes中。
  • labels,该参数类型是字符串列表。按钮标签。
  • active,该参数类型是int。最初选择的按钮的索引。
  • activecolor,该参数类型是color。当前所选按钮的颜色。如果activecolor或 radio_props 中未指定,则默认值为“蓝色”。
  • useblit,该参数类型是bool,默认值为True。如果后端支持,使用位块传送,加快绘制速度。
  • label_props,该参数类型是dict或dict列表,是可选的。用于标签的Text属性字典。
  • radio_props,该参数类型是dict,是可选的。分散字典 用于单选按钮的Collection属性。

APIs

函数说明
clear()将活动按钮重置为最初活动的按钮。
disconnect(cid)删除连接 ID 为 cid 的观察者
on_clicked(func)将回调函数 func 连接到按钮单击事件。
set_active(index)选择带有数字索引的按钮。如果 eventon 为 True,则会触发回调。
set_label_props(props)设置文本标签的属性。
set_radio_props(props)设置文本标签的属性。

应用实列

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import RadioButtonsfreqs = np.arange(0.2, 2, 0.3)
global w_radio
fig, ax = plt.subplots()
ax.set_ylabel('Frequency', color='#00ff00')
ax.set_xlabel('Time', color='#0000ff')
ax.set_facecolor('#eafff5')
plt.subplots_adjust(left=0.35, bottom=0.1, right=0.9, top=0.9, wspace=0.2, hspace=0.2)plt.subplots_adjust(bottom=0.25)
t = np.arange(0.0, 10.0, 0.01)
s = np.sin(2*np.pi*freqs[0]*t)
l, = plt.plot(t, s, lw=2)def on_clicked(label):global w_radioline_style = ['-', '-.', ':']index = labels.index(label)l.set(linestyle=line_style[index])plt.draw()if __name__ == "__main__":global w_radioax = plt.axes([0.01, 0.5, 0.20, 0.4])labels = ["solid", "dash-dotted", "dotted"]w_radio = RadioButtons(ax, labels, activecolor="#00FF00")w_radio.on_clicked(on_clicked)plt.show()

在这里插入图片描述

Slider

Slider的属性

  • val,float。滑动条值。

构造器

词法:matplotlib.widgets.Slider(ax, label, valmin, valmax, *, valinit=0.5, valfmt=None, closedmin=True, closedmax=True, slidermin=None, slidermax=None, dragging=True, valstep=None, orientation=‘horizontal’, initcolor=‘r’, track_color=‘lightgrey’, handle_style=None, **kwargs)

构造一个代表浮点范围的滑动条。

在 Axes中创建从 valmin 到 valmax 的滑动条。为了使滑动条保持响应,必须维护对其的引用。调用 on_changed() 连接到滑动条事件。

参数说明

  • ax,该参数类型是Axes。按钮将被放置到该Axes中。
  • labels,该参数类型是字符串列表。滑动条标签。
  • valmin,该参数类型是float。滑动条的最小值。
  • valmax,该参数类型是float。滑动条的最大值。
  • valinit,该参数类型是float, 默认为0.5。滑动条初始位置。
  • valfmt,该参数类型是字符串,默认为None。%-格式滑块值的格式字符串。如果None,则使用ScalarFormatter。
  • closemin,该参数类型是bool,默认值为True。滑动条区间底部是否闭合。
  • closemax,该参数类型是bool,默认值为True。滑动条区间顶部是否封闭。
  • slidermin,该参数类型是Slider,默认为None。不允许当前滑动条的值小于滑动条 slidermin 的值。
  • slidermax,该参数类型是Slider,默认为None。不允许当前滑动条的值大于滑动条 slidermax 的值。
  • dragging,该参数类型是bool,默认为True。如果为 True,则可以用鼠标拖动滑块。
  • valstep,该参数类型是float 或类似数组,默认值为None。如果是浮动的,滑动条将捕捉到 valstep 的倍数。如果是数组,滑动条将捕捉到数组中的值。
  • orientation,该参数类型是{‘horizontal’, ‘vertical’}, 默认为’horizontal’。滑动条的方向。
  • initcolor,该参数类型是color,默认为’r’。valinit 位置处线条的颜色。设置为None,表示没有线。
  • track_color,该参数类型是color,默认为’lightgrey’。背景轨道的颜色。可以通过 track 属性访问,该轨道以进行进一步的样式设置。
  • handle_style,该参数类型是dict。滑动条手柄的属性。

APIs

词法:on_changed(func)
将 func 作为回调函数连接到滑块值的更改。

参数

  • func,更改滑块时调用的函数。该函数必须接受单个浮点数作为其参数。

返回值

  • int,连接id(可用于断开func)。

词法:set_val(val)
将滑动条值设置为 val。

参数

  • val,参数类型int。

应用实列

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import Sliderfreqs = np.arange(0.2, 2, 0.3)
fig, ax = plt.subplots()
ax.set_ylabel('Frequency', color='#00ff00')
ax.set_xlabel('Time', color='#0000ff')
ax.set_facecolor('#eafff5')
plt.subplots_adjust(left=0.15, bottom=0.1, right=0.9, top=0.9, wspace=0.2, hspace=0.2)plt.subplots_adjust(bottom=0.25)
t = np.arange(0.0, 10.0, 0.01)
s = np.sin(2*np.pi*freqs[0]*t)
l, = plt.plot(t, s, lw=2)def on_changed(val):i = (int)(val % len(freqs))ydata = np.sin(2*np.pi*freqs[i]*t)l.set_ydata(ydata)l.set_color("#0000FF")plt.draw()if __name__ == "__main__":ax = plt.axes([0.2, 0.01, 0.60, 0.2])style = {"facecolor":"#8F0000", "edgecolor":"#00008F"}w_radio = Slider(ax, "Slider", 0.10, len(freqs), track_color="#00FF00", handle_style=style)w_radio.on_changed(on_changed)plt.show()

实列屏幕输出

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/435141.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DTH11温湿度传感器

DHT11 是一款温湿度复合传感器,常用于单片机系统中进行环境温湿度的测量。以下是对 DHT11 温湿度传感器的详细讲解: 一、传感器概述 DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感…

【STM32】江科大STM32笔记汇总(已完结)

STM32江科大笔记汇总 STM32学习笔记课程简介(01)STM32简介(02)软件安装(03)新建工程(04)GPIO输出(05)LED闪烁& LED流水灯& 蜂鸣器(06)GPIO输入(07)按键控制LED 光敏传感器控制蜂鸣器(08)OLED调试工具(09)OLED显示屏(10)EXTI外部中断(11)对射式红外传感器计次 旋转编码器…

C++:模拟实现vector

目录 成员变量与迭代器 size capacity empty 迭代器有关函数 实现默认成员函数的前置准备 reserve ​编辑 ​编辑 push_back 构造函数 无参构造 迭代器区间构造 n个val来进行构造 析构函数 拷贝构造函数 赋值重载 增删查改 clear resize pop_back inser…

git add成功后忘记commit的文件丢了?

本文目标:开发人员,在了解git fsck命令用法的条件下,进行git add成功但由于误操作导致丢失的文件找回,达到找回丢失文件的程度。 文章目录 1 痛点2 解决方案3 总结/练习 1 痛点 开发过程中,分支太多(基线分…

通信工程学习:什么是MIMO多输入多输出技术

MIMO:多输入多输出技术 MIMO(Multiple-Input Multiple-Output)多输入多输出技术是一种在无线通信中广泛应用的技术,它通过利用多个天线进行数据传输和接收,可以显著提高无线通信系统的性能和容量。以下是对MIMO技术的详细解释: 一、定义与原理 MIMO技术…

铺铜修改后自动重铺

很多初学者对于敷铜操作感到比较麻烦:为什么每次打过孔,修改走线后都需要手动右击-重新修改敷铜。如何提升layout的效率? 版本:Altium Designer 21.9.2 首先,点击面板右边的小齿轮,进入设置 接下来&#…

【国庆要来了】基于Leaflet的旅游路线WebGIS可视化实践

前言 转眼2024年的国庆节马上就要来临了,估计很多小伙伴都计划好了旅游路线。金秋十月,不管是选择出门去看看风景,还是选择在家里看人。从自己生活惯了的城市去别人生活惯了的城市,去感受城市烟火、去感受人文风景,为2…

SpringBoot整合JPA 基础使用

一、什么是JPA ‌‌1.JPA的定义和基本概念‌‌ ‌JPA(Java Persistence API)‌是Java中用于进行持久化操作的一种规范,它定义了一系列用于操作关系型数据库的API接口。通过这些接口,开发人员可以方便地进行数据库的增删改查等操…

DC00021基于springboot问卷调查管理系统web项目调查问卷管理系统MySQL(附源码)

1、项目功能演示 DC00021基于springboot问卷调查管理系统web项目调查问卷管理系统MySQL 2、项目功能描述 基于springboot问卷调查管理系统包括以下功能: 1、系统登录、系统注册 2、创建题目、题目信息查看 3、创建问卷、我的问卷信息查看 4、创建活动、我的活动信息…

看Threejs好玩示例,学习创新与技术(ThreePipe)

下面这个示例我觉得特别棒,我会推荐给我们的美工,以后产品的宣传图用它。比如下面这个图,不需要PS,仅需拖拽一个照片进去,它会自动铺到笔记本电脑上。完成后点击截图就可以得到高清图片,不需要摆拍和PS。大…

光伏设计难点在哪儿?如何解决?

一、光伏设计的主要难点 1.技术门槛高 光伏设计领域的一大难题在于技术使用的复杂性。用户往往需要下载并安装特定的软件和控件,这些工具操作复杂,增加了学习成本和使用难度。此外,现有的设计工具并非专为光伏设计而生,组件库不…

【华为】用策略路由解决双出口运营商问题

需求描述 不同网段访问互联网资源时,走不同的出口,即PC1走电信出口,PC2走移动出口。 客户在内网接口下应用策略路由后往往出现无法访问内网管理地址的现象,该举例给出解决办法。 拓扑图 基础配置 #sysname R1 # # interface G…

Android15音频进阶之新播放器HwAudioSource(八十六)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+…

亚马逊IP关联揭秘:发生ip关联如何处理

在亚马逊这一全球领先的电商平台上,IP关联是一个不可忽视的问题,尤其是对于多账号运营的卖家而言。本文将深入解析亚马逊IP关联的含义、影响以及应对策略,帮助卖家更好地理解和应对这一问题。 什么是亚马逊IP关联? 亚马逊IP关联…

Redis篇(应用案例 - 优惠卷秒杀)

目录 一、全局唯一ID 1. 简介 2. Redis实现全局唯一Id 3. 测试类 3.1. 关于 countdownlatch 3.2. CountDownLatch 中有两个最重要的方法 二、添加优惠卷 三、实现秒杀下单 四、库存超卖问题分析 六、乐观锁解决超卖问题 七、优惠券秒杀-一人一单 八、集群环境下的并…

1比25万基础电子地图(港澳版)

我们为你分享过四川、云南、江西、贵州、重庆、青海、西藏、新疆、甘肃、黑龙江、吉林、湖北、内蒙古、广东、广西、浙江、河南、湖南、宁夏、山西、陕西、天津、山东、河北、江苏、福建、辽宁、北京、安徽、上海、海南和台湾的1比25万基础电子地图,现在再为你分享港…

MySQL --数据类型

文章目录 1.数据类型分类2.数值类型2.1 tinyint类型2.2 bit类型2.3小数类型2.31float2.32decimal 3.字符串类型3.1 char3.2varchar3.3 char和varchar比较 4.日期和时间类型5.enum和set 1.数据类型分类 2.数值类型 2.1 tinyint类型 数值越界测试: create table tt1…

ubuntu内网穿透后在公网使用ssh登录

需求: 我有一台内网可以通过ssh 22端口访问的设备操作系统是ubuntu server我还有1台拥有公网IP的服务器,IP地址是 6.66.666.6666我想随时从其他网段通过ssh访问我的ubuntu server设备 实现: 工具准备:frp 网址:https…

Spring源码学习:SpringMVC(3)mvcannotation-driven标签解析【RequestMappingHandlerMapping生成】

目录 前言mvc:annotation-driven标签概述mvc:annotation-driven标签解析【RequestMappingHandlerMapping生成】AnnotationDrivenBeanDefinitionParser#parse (解析入口)RequestMappingHandlerMapping的实例化类图afterPropertiesSetAbstractHandlerMetho…

MySQL数据库——索引

目录 什么是索引(Index)? 怎样加索引? 索引的特点 索引类型 主键索引(Primary Key) 辅助索引(二级索引) 聚集索引和非聚集索引 聚集索引 非聚集索引 单列索引和联合索引 单列索引 联合索引 创…