【问题标题】:How to use rgb value to add color in pandas.scatter_matrix?如何使用 rgb 值在 pandas.scatter_matrix 中添加颜色?
【发布时间】:2021-10-06 01:41:25
【问题描述】:

我想在pd.scatter_matrix中添加颜色,像这样的rgb值,

   val_rgb = [[127  80  34]
     [130  89  34]
     [170 133  75]
     ...]

我曾经像这样在 scatter3D 中使用它们,

for i in range(0, len(df)):
    ax1.scatter3D(
        df[i,0], 
        df[i,1],
        df[i,2],
        s = 2,
        marker='o',
        c = '#%02x%02x%02x' % tuple(val_rgb[i])
    )

但是在scatter_matrix中,我发现只能加上c='red',有没有更准确的调整每个点的颜色?

PS(我也找到了通过label sns.pairplot(df)加颜色,但是也没找到怎么准确加颜色...)

【问题讨论】:

  • 您能否提供一个示例数据集和您期望的图像?

标签: python-3.x pandas matplotlib seaborn data-visualization


【解决方案1】:

您可以使用 0 到 1 之间的浮点值元组来指定使用 RGB 格式的颜色。因此只需将 RGB 值除以 255:

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

N = 500
data = pd.DataFrame(np.random.randn(N, 4), columns=['A','B','C','D'])
colors = np.random.randint(256, size=(N, 3))  # random colors


pd.plotting.scatter_matrix(data, alpha=.2, color=colors / 255)

【讨论】:

  • 感谢您的回复,但我想在 scatter_matrix 中使用 rgb 颜色,而不是 scatter 函数
  • 我已经更新了我的答案,这也适用于plt.scatter
猜你喜欢
  • 2022-11-13
  • 1970-01-01
  • 2019-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-10
  • 2012-04-03
  • 1970-01-01
相关资源
最近更新 更多