Python错题集-4:NameError:(变量名错误)

news2024/9/21 8:00:41

1问题描述

Traceback (most recent call last):
  File "D:\pycharm\projects\1-可视化学习\8.3更改小提琴图的中位数、均值、颜色等.py", line 8, in <module>
    violin_parts = plt.violinplot(data, showmedians=True, showmeans=True)
                                  ^^^^
NameError: name 'data' is not defined

2代码详情

# 导入相关库
import numpy as np  # 导入numpy库,用于处理数组和数值计算
import matplotlib.pyplot as plt  # 导入matplotlib的绘图模块,用于可视化


plt.figure(dpi=120)
# 绘制小提琴图,data是数据源,showmedians和showmeans参数分别控制是否显示中位数和均值线
violin_parts = plt.violinplot(data, showmedians=True, showmeans=True)
# 获取小提琴图的中位数线,并设置其边缘颜色为红色
vmedian = violin_parts['cmedians']
vmedian.set_edgecolor('r')
# 获取小提琴图的均值线,并设置其边缘颜色为黑色
vmean = violin_parts['cmeans']
vmean.set_edgecolor('k')
# 获取小提琴图的箱体部分(即除去尾部的曲线部分),并设置其边缘颜色为黑色
vbars = violin_parts['cbars']
vbars.set_edgecolor('k')
# 获取小提琴图的最大值线(即箱体上边缘),并设置其边缘颜色为深橙色
vmax = violin_parts['cmaxes']
vmax.set_edgecolor('darkorange')
# 获取小提琴图的最小值线(即箱体下边缘),并设置其边缘颜色为深橙色
vmin = violin_parts['cmins']
vmin.set_edgecolor('darkorange')
# 显示图形窗口,此时会弹出一个窗口显示绘制的小提琴图
plt.show()

3问题剖析

NameError 在 Python 中是一个异常类型,它表示尝试访问一个未被定义或不可访问的变量名。当 Python 解释器在尝试查找一个变量或函数名时,如果在当前的符号表(即名称空间)中找不到这个名字,就会抛出 NameError 异常。

1.变量未定义:如果你尝试使用一个尚未被赋值的变量,就会触发 NameError

print(x)  # NameError: name 'x' is not defined

2.拼写错误:如果你尝试访问的变量名拼写错误,也会导致 NameError

y = 10  
print(y1)  # NameError: name 'y1' is not defined

3.作用域问题:如果变量在尝试访问它的作用域之外定义,也会引发 NameError

def func():  
    z = 20  

func()  
print(z)  # NameError: name 'z' is not defined

4.导入错误:当尝试从模块中导入不存在的对象时,也会引发 NameError

from some_module import non_existent_object  
# NameError: name 'non_existent_object' is not defined in module 'some_module'

4问题解决

  • 确保变量在使用前已经被定义和赋值。
  • 检查变量名的拼写是否正确。
  • 确保你正在访问的变量在当前的作用域内是可访问的。
  • 如果从模块导入,请确保模块中确实存在你想导入的对象。

5代码修改

通过检查,属于变量未定义

data = [np.random.normal(0, std, 100) for std in range(10, 14)]

5全文代码

# 导入相关库
import numpy as np  # 导入numpy库,用于处理数组和数值计算
import matplotlib.pyplot as plt  # 导入matplotlib的绘图模块,用于可视化

data = [np.random.normal(0, std, 100) for std in range(10, 14)]
plt.figure(dpi=120)
# 绘制小提琴图,data是数据源,showmedians和showmeans参数分别控制是否显示中位数和均值线
violin_parts = plt.violinplot(data, showmedians=True, showmeans=True)
# 获取小提琴图的中位数线,并设置其边缘颜色为红色
vmedian = violin_parts['cmedians']
vmedian.set_edgecolor('r')
# 获取小提琴图的均值线,并设置其边缘颜色为黑色
vmean = violin_parts['cmeans']
vmean.set_edgecolor('k')
# 获取小提琴图的箱体部分(即除去尾部的曲线部分),并设置其边缘颜色为黑色
vbars = violin_parts['cbars']
vbars.set_edgecolor('k')
# 获取小提琴图的最大值线(即箱体上边缘),并设置其边缘颜色为深橙色
vmax = violin_parts['cmaxes']
vmax.set_edgecolor('darkorange')
# 获取小提琴图的最小值线(即箱体下边缘),并设置其边缘颜色为深橙色
vmin = violin_parts['cmins']
vmin.set_edgecolor('darkorange')
# 显示图形窗口,此时会弹出一个窗口显示绘制的小提琴图
plt.show()

图像显示为: 

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

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

相关文章

071:vue+cesium 实现下雨效果

第071个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中实现下雨效果,这里使用着色器来实现实例特效。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共120行)着色代码实现心得:专栏目标示例效果

物体检测-系列教程19:YOLOV5 源码解析9 (Focus模块、Model类构造函数)

&#x1f60e;&#x1f60e;&#x1f60e;物体检测-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 点我下载源码 13、Focus模块 13.1 基本流程 原始输入图像的格式为&#xff1a;tensor: float32[1,3,64…

msvcr120.dll丢失的解决办法,分享解决文件丢失的问题

msvcr120.dll文件丢失有这三种方法可以解决&#xff0c;学会这三种方法的任何一种&#xff0c;以后再出现dll文件丢失的情况都能很好地解决&#xff0c;第一种方法最为简单。先给大家说说msvcr120.dll文件为什么会丢失&#xff1f;丢失的原因是什么&#xff1f; 一.msvcr120.d…

LabVIEW眼结膜微血管采集管理系统

LabVIEW眼结膜微血管采集管理系统 开发一套基于LabVIEW的全自动眼结膜微血管采集管理系统&#xff0c;以提高眼结膜微血管临床研究的效率。系统集成了自动化图像采集、图像质量优化和规范化数据管理等功能&#xff0c;有效缩短了图像采集时间&#xff0c;提高了图像质量&#…

【LLM RAG】GritLM:统一嵌入和生成的大语言模型浅谈

前言 目前&#xff0c;所有基于文本的语言问题都可以归结为生成问题&#xff0c;并通过单一的LLM来处理。然而&#xff0c;使用嵌入的任务&#xff08;如聚类或检索&#xff09;在这种视角下往往被忽视了。文本嵌入在许多关键的实际应用中扮演着重要角色。如RAG&#xff0c;在…

NGINX 高频面试题及实践总结

NGINX 是一个高性能的开源 Web 服务器和反向代理服务器&#xff0c;被广泛应用于互联网架构中。在面试中&#xff0c;对 NGINX 的相关知识可能会成为考察的重点。下面我们整理了一些常见的 NGINX 面试题及答案&#xff0c;希望对大家在面试前的准备有所帮助。 ## 1. 什么是 NG…

通过跳板机拷贝远程服务器文件

## 背景 在日常开发或者运维中&#xff0c;经常会遇到开发环境与线上环境网络隔离&#xff0c;需要通过跳板机连接的场景&#xff0c;如果需要将目标机器上的定位信息搬迁到开发机做进一步排查时&#xff0c;经常取文件比较费劲&#xff0c;一般操作是将目标文件拷贝到跳板机&…

SpringBoot项目连接Redis报错:Connection refused: no further information

今天在使用SpringBoot连接Redis时发生了报错 明明Jedis能够连接成功为什么StringRedisTemplate就不行? 然后在网上找了一下说是关闭防火墙或者修改配置文件但是都不管用 最后发现是Redis在SpringBoot3之后yml的配置方式发生了改变 相较于之前多了一个前缀, 由于我刚开始没有…

kotlin开发框架,50家大厂面试万字精华总结

与其它行业一样&#xff0c;凡是有高级和普通&#xff0c;虽然都是敲代码但也有大牛和普通之分&#xff0c;大牛程序员&#xff0c;一个人比一个团队做项目都做得快&#xff0c;**最为出名的当属十几年前求伯君在做wps时&#xff0c;一个人完成了微软二十人团队没有完成的项目需…

嵌入式中回调函数的实现方法

一、什么是回调函数 1.1、回调函数的定义和基本概念 回调函数是一种特殊的函数&#xff0c;它作为参数传递给另一个函数&#xff0c;并在被调用函数执行完毕后被调用。回调函数通常用于事件处理、异步编程和处理各种操作系统和框架的API。 基本概念&#xff1a; 回调&#xf…

【PyTorch】成功解决AttributeError: ‘Tuple‘ object has no attribute ‘cuda‘

【PyTorch】成功解决AttributeError: ‘Tuple‘ object has no attribute ‘cuda‘ &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&…

【教程】移动互联网时代的APP上架流程和要点

目录 摘要 引言 正文 一、应用商店注册 二、准备APP材料 三、打包上传App 摘要 本文将介绍移动应用程序上架的基本流程和要点&#xff0c;包括应用商店注册、APP材料准备、打包上传App、APP审核以及发布APP的详细步骤。此外&#xff0c;还会提到利用appuploder工具简化i…

强大而灵活的python装饰器

装饰器&#xff08;Decorators&#xff09; 一、概述 在Python中&#xff0c;装饰器是一种特殊类型的函数&#xff0c;它允许我们修改或增强其他函数的功能&#xff0c;而无需修改其源代码。装饰器在函数定义之后立即调用&#xff0c;并以函数对象作为参数。装饰器返回一个新…

【Qt】Sqlite数据库加密

1. 加密方式 对数据库文件加密。既不会暴露表结构&#xff0c;也不会暴露数据细节。 2. 加密工具&#xff08;QtCipherSqlitePlugin&#xff09; 用于密码 SQLite 的 Qt 插件&#xff0c;它基于 SQLite 源和 wxWidget 中的 wxSQLite3插件github地址&#xff1a;https://gith…

Vue ElementUI 修改消息提示框样式—messageBox 的大小

在窄屏模式下&#xff08;移动端或pda&#xff09;&#xff0c;提示框的宽度太宽&#xff0c;会出现显示不完全的问题。 应当如何修改 ElementUI 的样式呢&#xff1f; open() {this.$confirm(window.vm.$i18n.t("tips.conLogOut"),window.vm.$i18n.t("tips.tip…

JVM内存回收算法

1.1 引用计数法 每个对象创建的时候&#xff0c;会分配一个引用计数器&#xff0c;当这个对象被引用的时候计数器就加1&#xff0c;当不被引用或者引用失效的时候计数器就会减1。任何时候&#xff0c;对象的引用计数器值为0就说明这个对象不被使用了&#xff0c;就认为是“垃圾…

回溯 Leetcode 47 全排列II

全排列II 给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 Leetcode 47 学习记录自代码随想录 示例 1&#xff1a; 输入&#xff1a;nums [1,1,2] 输出&#xff1a; [[1,1,2], [1,2,1], [2,1,1]] 示例 2&#xff1a; 输入&#xff1…

6. Z 字形变换

将一个给定字符串 s 根据给定的行数 numRows &#xff0c;以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时&#xff0c;排列如下&#xff1a; P A H N A P L S I I G Y I R 之后&#xff0c;你的输出需要从左往右…

【MySQL】数据库中常用的函数

目录 聚合函数COUNT()函数的多种用法COUNT(*)COUNT(主键)COUNT(1)COUNT(常量)COUNT(非主键)COUNT(distinct(字段)) COUNT()函数小结 字符函数length(str)函数&#xff1a;获取参数值的字节个数concat(str1,str2,...)函数&#xff1a;字符串拼接upper(str)、lower(str)函数:大小…

雨云:为你拨开云雾见青天

一、雨云品牌概览 雨云&#xff0c;这名字一听就让人联想到蓝天白云&#xff0c;清爽自然。那么&#xff0c;这个品牌是否真的如其名&#xff0c;能为我们这些在数字世界中漂泊的旅人提供一片宁静、稳定的“云”呢&#xff1f;接下来&#xff0c;让我们深入了解雨云的资质、能…