首页 > 解决方案 > 2 个变量的散点图,带有基于第三个变量的颜色条

问题描述

我正在尝试使用变量 x 相对于另一个 y 进行绘图,并根据另一个变量 z 的值添加颜色图

所以情节应该与此类似

情节

我的尝试

import numpy as np
import pandas as pd
import seaborn as sns
import random
import matplotlib.pyplot as plt
import matplotlib.cm as cm

x=np.random.randint(0,20,30)
y=np.random.randint(-5,5,30)
z=np.random.randint(-2,10,30)
df=pd.DataFrame(data={'A':x,'B':y,'C':z})

points = plt.scatter(df['A'],df['B'],cmap="jet")
m = cm.ScalarMappable(cmap=cm.jet)
m.set_array(df['C'])
plt.colorbar(points)
sns.lmplot('A', 'B', data=df, hue='C', fit_reg=False)

TypeError: You must first set_array for mappable

我正在混合 matplotlib 和 seaborn,就像在 seaborn 中一样

标签: pythonmatplotlibseabornscatter-plotcolorbar

解决方案


这个怎么样(在 scatter 命令中使用 c=df.C ):

points = plt.scatter(df.A, df.B, c=df.C,cmap="jet", lw=0)
plt.colorbar(points)

在此处输入图像描述


推荐阅读