如何在pandas.scatter_matrix中使用rgb值添加颜色?
How to use rgb value to add color in pandas.scatter_matrix?
我想在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(我也找到了按标签加色sns.pairplot(df),但也没找到如何准确加色...)
您可以使用 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)
我想在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(我也找到了按标签加色sns.pairplot(df),但也没找到如何准确加色...)
您可以使用 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)