python-3.x - 使用 pandas.DataFrame.plot.scatter() 的 Matplotlib 警告
问题描述
一个 Windows 10,版本:Python 3.5.2、pandas 0.23.4、matplotlib 3.0.0、numpy 1.15.2,以下代码给我以下警告,我想整理一下
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.cm as cm
# a 5x4 random pandas DataFrame
pf = pd.DataFrame(np.random.random((5,4)), columns=['a', 'b', 'c', 'd'])
# colors:
colors = cm.rainbow(np.linspace(0, 1, 4))
fig1 = pf.plot.scatter('a', 'b', color='k')
for i, j in enumerate(['b', 'c', 'd']):
pf.plot.scatter('a', j, color=colors[i+1], ax = fig1)
我得到一个警告:
'c' 参数看起来像单个数字 RGB 或 RGBA 序列,应避免使用它,因为在其长度与 'x' 和 'y' 匹配的情况下,值映射将具有优先权。如果您真的想为所有点指定相同的 RGB 或 RGBA 值,请使用单行的二维数组。
你能告诉我如何解决这个警告吗?
解决方案
我无法使用 matplotlib 3.0 和 pandas 0.23.4 重现警告,但它所说的本质上是您不应该使用单个 RGB 元组来指定颜色。
所以而不是color=colors[i+1]
使用
color=[colors[i+1]]
推荐阅读
- c - 从小到大整数指针使用 memcpy() 的与字节序无关的方式
- google-apps-script - Google 表格 - 使用 vlookup 将动态表格列表中的单元格相加
- docker - Jasper Reports 粗体样式不适用于 PDF 导出器
- html - 无法在 React 上自动播放音频
- c++ - 在钻石问题中更喜欢组合而不是继承
- python - 如何在 scipy.optimize least_squares 中添加比率约束?
- ruby-on-rails - 具有范围路由和 default_locale 的 ruby on rails:search.google 错误 5xx
- css - 只要有替代品,font-family 中的第一个字体就不适用
- swift - SwiftUI 上出现 AVAudioPlayer 播放多次
- python - python如何确定在函数中将变量分类为局部变量还是非局部变量?