【问题标题】:Pandas scatter plot: multiple colors, and background熊猫散点图:多种颜色和背景
【发布时间】:2015-03-29 09:33:23
【问题描述】:

我正在尝试在scores 中创建数据的散点图,其中threshold 上方的值显示为红色。我在让颜色相应地显示时遇到问题。我还想为labels 中指定的索引遮蔽图形的背景,这是数据帧长度的 0 和 1 列表。以下是我到目前为止的代码。提前感谢您的帮助!

import pandas
...

values = pandas.DataFrame({"scores":scores, "labels":labels, "indices":range(len(labels))})

# plot alerts in red, others in black
alertValues = values.iloc[scores[scores >= threshold].index]

ax = alertValues.plot(kind="scatter", x="indices", y="scores", c='r',
  marker='.', s=5, alpha=0.5)
values.plot(kind="scatter", x="indices", y="scores", c='r',
  marker='.', s=5, alpha=0.5, ax=ax)

# show plot
plt.title(fileName)
plt.show()

【问题讨论】:

  • 您能描述一下您得到的输出类型(如果有的话)吗?例如,您是在显示一个图表,但只有颜色是关闭的,还是您看不到图表?
  • @aus_lacy 我可以看到绘图,但所有数据点都是黑色的。
  • 您可以使用灰度,然后自己定义颜色(请参阅stackoverflow.com/questions/8202605/…),或者您可以将阈值以下的所有值绘制为一种颜色,然后将阈值以上的值绘制到相同的情节,但在另一种颜色。关于着色特定索引,我不确定如何做类似的事情,这并不是说不可能,只是我不知道有什么方法可以做到。
  • @aus_lacy 你提到的第二个选项是我正在尝试的,但它不能正常工作......

标签: python matplotlib pandas


【解决方案1】:

问题在于从 pandas DataFrame 调用 plot 函数。最好将 pyplot 与列表一起使用:

plt.figure()
plt.scatter(indices, scores)
plt.scatter(fooIndices, fooScores)
plt.show()

【讨论】:

    猜你喜欢
    • 2014-06-01
    • 2019-01-23
    • 1970-01-01
    • 2019-01-03
    • 1970-01-01
    • 1970-01-01
    • 2020-02-01
    • 2011-07-22
    • 1970-01-01
    相关资源
    最近更新 更多