【问题标题】:Scatter plot of 2 variables with colorbar based on third variable [duplicate]基于第三个变量的带有颜色条的2个变量的散点图[重复]
【发布时间】:2018-11-04 18:17:44
【问题描述】:

我正在尝试使用变量 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 中一样,我无法使用颜色图“jet” 但是任何获得相同图表的替代方法都是受欢迎的

【问题讨论】:

    标签: python matplotlib seaborn scatter-plot colorbar


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      • 2019-02-14
      • 2017-01-29
      • 1970-01-01
      • 1970-01-01
      • 2020-02-23
      相关资源
      最近更新 更多