解决警告:*c* argument looks like a single numeric RGB or RGBA sequence, which should be avoi(图文并茂详细版!!!)

本文主要是介绍解决警告:*c* argument looks like a single numeric RGB or RGBA sequence, which should be avoi(图文并茂详细版!!!),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

解决报错

    • 报错信息
    • 问题分析
    • 解决方法
      • 注意
      • 总结
    • 完整代码

报错信息

       •当我们在使用matplotlib绘图,自定义颜色时,可能会出现以下报错!!

*c* argument looks like a single numeric RGB or RGBA sequence, which should be avoided as value-mapping will have 
precedence in case its length matches with *x* & *y*.  Please use the *color* keyword-argument or provide a 2-D 
array with a single row if you intend to specify the same RGB or RGBA value for all points.

在这里插入图片描述

问题分析

       •问题描述:c这个参数应该是一个RGB或RGBA序列,当你仅仅需要使用一个颜色时,应该使用颜色单词来代替,当你真的想使用光谱来自定义颜色,请你使用二维数组来确定颜色!!!
       •我们上述代码中自定义的颜色是一个元组,不符合规定的二维数组,需将其转换二维数组!!!

解决方法

import matplotlib.pyplot as plt  # 二维图像
import numpy as np# 自定义颜色
color1 = plt.cm.tab10(5.2)# 复制简单的散列图 变量x1与x2的关系
# 定义数据
x1 = np.random.rand(10)  # 取出十个符合正态分布的随机数
x2 = x1 + x1 ** 2 - 10# 确定画布
plt.figure(figsize=(8, 4))# 绘图
plt.scatter(x1, x2,  # 横坐标 纵坐标s=20,  # 数据点的尺寸大小c=color1, # 自定义颜色label='Positive')  # 这个所绘制图的名称(图例)# 装饰图形
plt.legend()  # 显示图例plt.show()  # 显示图形

       •就是将我们的自定颜色的元组转换成一维数组再进行增维,即可解决此警告!!!
       •上述的color1是一个元组!!!
在这里插入图片描述
       •将其转换为数组(np是模块numpy自定义的别名!!!)

np.array(color1)

在这里插入图片描述
       •有一个方括号即为一维数组!!

       •使用reshape进行增维,使用reshape(1,-1)进行行上增维!!!

np.array(color1).reshape(1,-1)

在这里插入图片描述
       •有两个方括号即为二维数组!!

注意

       •reshape(1,-1) 行上维度增加一
在这里插入图片描述
       •reshape(-1,1) 列上维度增加一
在这里插入图片描述

总结

       •就是将代码中的c=color1替换成c=np.array(color1).reshape(1,-1)即可完美解决如上的警告!!!

完整代码

import matplotlib.pyplot as plt  # 二维图像
import numpy as np# 自定义颜色
color1 = plt.cm.tab10(5.2)# 复制简单的散列图 变量x1与x2的关系
# 定义数据
x1 = np.random.rand(10)  # 取出十个符合正态分布的随机数
x2 = x1 + x1 ** 2 - 10# 确定画布
plt.figure(figsize=(8, 4))# 绘图
plt.scatter(x1, x2,  # 横坐标 纵坐标s=20,  # 数据点的尺寸大小c=np.array(color1).reshape(1,-1),  # 增维 编程一行四列 数据点的颜色label='Positive')  # 这个所绘制图的名称(图例)# 装饰图形
plt.legend()  # 显示图例plt.show()  # 显示图形

在这里插入图片描述

这篇关于解决警告:*c* argument looks like a single numeric RGB or RGBA sequence, which should be avoi(图文并茂详细版!!!)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/239844

相关文章

Python pandas库自学超详细教程

《Pythonpandas库自学超详细教程》文章介绍了Pandas库的基本功能、安装方法及核心操作,涵盖数据导入(CSV/Excel等)、数据结构(Series、DataFrame)、数据清洗、转换... 目录一、什么是Pandas库(1)、Pandas 应用(2)、Pandas 功能(3)、数据结构二、安

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也