【问题标题】:Matplotlib warning using pandas.DataFrame.plot.scatter()使用 pandas.DataFrame.plot.scatter() 的 Matplotlib 警告
【发布时间】:2019-03-23 10:30:31
【问题描述】:

一个 Windows 10,具有以下版本: Python 3.5.2、熊猫 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 值 点。

您能告诉我如何解决该警告吗?

【问题讨论】:

    标签: python-3.x pandas matplotlib


    【解决方案1】:

    我无法使用 matplotlib 3.0 和 pandas 0.23.4 重现该警告,但它所说的本质上是您不应该使用单个 RGB 元组来指定颜色。

    所以不要使用color=colors[i+1]

    color=[colors[i+1]]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-19
      • 2019-07-17
      • 1970-01-01
      • 2016-09-15
      • 1970-01-01
      • 1970-01-01
      • 2013-04-16
      • 2019-12-17
      相关资源
      最近更新 更多