【问题标题】:How do I produce a scatter plot in which the colour of the dots is defined by their y value [duplicate]如何生成散点图,其中点的颜色由它们的 y 值定义[重复]
【发布时间】:2021-11-04 12:27:19
【问题描述】:

我有类似的数据:

values = (1,1,2,2,3,2,1,3,3,2,1,3,2,1,1)
x = range(len(values))
y = values

值只能包含 1,2 或 3,我正在努力寻找一种方法来生成散点图,其中 1,2 和 3 值的颜色不同。

【问题讨论】:

  • sns.scatterplot(x=x, y=values, hue=values) 在没有 hue = list(map(str, y)) 的情况下工作得很好,plt.scatter(x, values, c=values) 在没有使用 seaborn 的情况下工作得很好。
  • 仅供参考:彻底回答问题非常耗时。如果您的问题已解决,请通过接受最适合您的需求的解决方案表示感谢。 位于答案左上角的 / 箭头下方。如果出现更好的解决方案,则可以接受新的解决方案。如果您的声望超过 15,您也可以使用 / 箭头对答案的有用性进行投票。 如果解决方案不能回答问题,请发表评论What should I do when someone answers my question?。谢谢

标签: python matplotlib plot data-visualization visualization


【解决方案1】:

或者如果使用matplotlib,你可以这样做:

import matplotlib.pyplot as plt
plt.scatter(x, y, c=y)

【讨论】:

    【解决方案2】:

    你可以使用seaborn.scatterplot:

    import matplotlib.pyplot as plt
    import seaborn as sns
    
    values = (1, 1, 2, 2, 3, 2, 1, 3, 3, 2, 1, 3, 2, 1, 1)
    x = range(len(values))
    y = values
    
    fig, ax = plt.subplots()
    
    sns.scatterplot(ax = ax, x = x, y = y, hue = list(map(str, y)))
    
    plt.show()
    

    【讨论】:

      猜你喜欢
      • 2013-06-26
      • 1970-01-01
      • 2016-11-13
      • 1970-01-01
      • 2020-10-10
      • 2022-06-15
      • 2021-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多