Python库matplotlib之四

news2024/9/30 20:25:32

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 RadioButtons

freqs = 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_radio
    line_style = ['-', '-.', ':']
    index = labels.index(label)
    l.set(linestyle=line_style[index])
    plt.draw()

if __name__ == "__main__":
    global w_radio
    ax = 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 Slider

freqs = 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.coloradmin.cn/o/2180618.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Springboot+Vue的c语言学习辅导网站的设计与实现 (含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统中…

美洽客户服务AI Agent 1.0,全渠道多场景赋能业务增长

“到 2025 年,由 AI 驱动的客户服务交互将增长 400%。” ——Gartner “70% 的企业报告称,在实施 AI 驱动的客户服务平台后,客户满意度分值提升。” ——麦肯锡 在美洽 AI 中心负责人看来,未来几年,AI 之于企业将由辅助…

国内ChatGPT镜像网站整理汇总【OpenAI o1/GPT 4o】-2024/10月最新

一、中文镜像站 ①yixiaai.com 支持GPT4、4o以及o1,支持MJ绘画、文件上传 ②chat.lify.vip 支持通用全模型,支持文件读取、插件、绘画、AIPPT ③AI Chat 支持GPT3.5/4,4o以及MJ绘画 1. 什么是镜像站 镜像站(mirrored site&am…

解决$‘r‘ command not found或者文件夹显示’tvsf 33‘$‘r‘

问题现象: 某客户反馈在执行脚本的时候文件夹显示存在问题,如下图: 但是脚本文件中的内容并没有\r字符,如下图: 也有客户反馈如下: 问题分析: $\r’是回车符的转义表示。在Unix和Linux系统中,回车符是一个不可见的控制字符,它通常用于文本文件中的行结尾。以上…

多线程——进程与线程(详解)

前言 在前一篇文章末尾我简单介绍了操作系统,在操作系统中有一个核心的概念就是进程,然而从本篇文章起,就要开始JAVA语言多线程的讲解了,所以在此之前,本篇文章作为多线程的前序铺垫,一是介绍进程与线程的…

SV830C产品介绍

SV830C产品介绍 SV830C是一款由珠海亿智科技有限公司(Zhuhai Eeasy Technology Co., Ltd.,品牌名为EEASYTECH)倾力打造的专业AI系统级芯片(SoC),专为视频编码产品而设计。这款芯片不仅集成了先进的神经网络…

湖州市自闭症寄宿学校:个性化关爱让每个孩子都能茁壮成长

在探索自闭症儿童教育的广阔领域中,湖州市的自闭症寄宿学校以其个性化的教育模式,为众多家庭点亮了希望之光。然而,当我们把视线转向中国南方的一座现代化大都市——广州,会发现另一所同样在自闭症儿童教育领域深耕细作、成果斐然…

满填充透明背景二维码生成

前几天项目上线的时候发现一个问题:通过Hutool工具包生成的二维码在内容较少时无法填满(Margin 已设置为 0)给定大小的图片。因此导致前端在显示二维码时样式异常。 从图片中我们可以看到,相同大小的图片,留白内容是不一样的。其中上半部分…

RuoYi-Vue实现后台管理系统去掉首页/默认跳转动态路由第一个路由

云风网 云风笔记 云风知识库 RuoYi-Vue 是一个 Java EE 企业级快速开发平台,基于SpringBoot、Spring Security、Jwt、Vue的前后端分离的后台管理系统 内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。在线定…

【代码实现】opencv 高斯模糊和pytorch 高斯模糊

wiki百科 Gaussian Blur,也叫高斯平滑,是在Adobe Photoshop、GIMP以及Paint.NET等图像处理软件中广泛使用的处理效果,通常用它来减少图像噪声以及降低细节层次。 opencv实现 opencv实现高斯滤波有两种方式, 1、是使用自带的cv2…

怎样把两个视频合并成一个视频?批量合并视频看好这6个工具!

★ 怎样把两个视频合并成一个视频? 随着视频内容的日益丰富,我们常常需要将多个视频片段合并成一个完整的视频文件,不管将2个视频合并拼接到一个进行播放,还是直接合并2个短视频变成长视频,都可以通过这6个工具进行处…

个人项目简单https服务配置

1.SSL简介 SSL证书是一种数字证书,由受信任的证书颁发机构(CA)颁发,用于在互联网通信中建立加密链接。SSL代表“安全套接层”,是用于在互联网上创建加密链接的协议。SSL证书的主要目的是确保数据传输的安全性和隐私性…

PWA(Progressive web APPs,渐进式 Web 应用): manifest.json、 Service Worker

文章目录 引言I 什么是 PWA功能特性技术上分为三个部分安装应用II Web 应用清单将Web 应用清单文件链接到站点manifest.json字段说明III Service Worker( 缓存管理)IV 结合构建工具让项目支持 PWA应用使用插件vite-plugin-pwaworkbox-webpack-plugin插件扩展知识将 PWA 作为脱机…

dwceqos网络驱动性能优化

文章介绍 本文会介绍优化QNX系统下io-pkt-v6-hc驱动模块cpu loading过高问题,经过优化可以降低约一半的cpu loading. 问题背景 激光雷达通过以太网发送数据到ADAS域控中,测试发现在激光功能激活的情况下,会出现比较明显的网络丢帧现象。 …

HT8731 内置自适应H类升压和防破音功能的10W D类及AB类音频功率放大器

1、特点 防削顶失真功能(防破音,Anti-Clipping Function, ACF) 免滤波器数字调制&#xff0c;直接驱动扬声器 输出功率 10W(VBAT4.2V,RL3Ω,THDN10%, fiN 1kHz) 6W(VBAT3.3~4.2V,RL4Ω,THDN<1%,20-20kHz 全频段) 3W (VBAT3.3~4.2V,RL8Ω, THDN<1%, 20- 20kHz 全频段 VB…

DPLL的DCO与PLL的VCO(数控振荡器与压控振荡器)

1.概述 无论DPLL还是PLL都是由PD&#xff0c;LPF和DCO/VCO组成。 PD&#xff1a;鉴相器&#xff0c;是将VCO/DCO输出的频率信号分频后与refclk进行相位比对&#xff0c;输出一个相位差信号 LFP&#xff1a;是将相位差信号转换为VCO的压控信号或DCO的延迟信号。 VCO&#xf…

js将对象的键和值分别归纳进对象,并将多层对象转化成数据的方法

前言&#xff1a; 后端传给我一个没有处理过的json串&#xff0c;但是我要传入el-tree做渲染&#xff0c;此篇来记录一下整个数据处理过程以及el-tree的使用 需求描述&#xff1a; 一、树结构可以展开可以收缩&#xff0c;默认全部展开 二、有一些关键词需要高亮展示红色 …

第十三届蓝桥杯真题Python c组D.数位排序(持续更新)

博客主页&#xff1a;音符犹如代码系列专栏&#xff1a;蓝桥杯关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 问题描述 小蓝对一个数的数位之和很感兴趣, 今天他要按照数位之和给数排序。…

Knots_3D 9.3.0 一款教你绑绳结的手机应用

Knots 3D (3D绳结)是一款教你绑绳结的手机应用&#xff0c;可以掌握一些必备的绳结系法&#xff0c;拥有 120 个 3D 效果的绳结&#xff0c;教你系上、解开&#xff0c;户外爱好者必备。Knots 3D已经被全世界的园艺师、渔民、消防员、登山者、军人和童子军使用&#xff0c;它将…

9.2 Linux_I/O_标准I/O相关函数

打开与关闭 文件打开就是判断这个文件资源可不可以被占用&#xff0c;如果可以&#xff0c;就能够打开成功&#xff0c;否则打开失败 文件关闭就是释放文件资源 1、打开文件 1.1 函数声明 FILE *fopen(const char *pathname, const char *mode); 返回值&#xff1a;出错返…