Matplotlib散点图标签不区分点

时间:2018-02-14 18:40:13

标签: python pandas matplotlib scatter-plot

我正在尝试在散点图中绘制一系列IP地址,然后根据它们的“检测结果”标记它们,这些检测结果为0或大于0 0

虽然这个情节确实生成了,但它会将所有点颜色相同,而不是通过恶意标签将它们分开,任何帮助都非常感谢!

df = pd.io.sql.read_sql('SELECT Date_scanned, IP, Detections FROM URLs', con=conn)
df['Date_scanned']=df['Date_scanned'].str.split(" ").str[0]
detections = df['Detections'].values

for row in df:
    for x in detections:
        if x > 0:
            malicious = "Yes"
        else:
            malicious = "No"

    plt.scatter(df['Date_scanned'], df['IP'], label=malicious)
plt.legend(loc='best')
plt.show()

1 个答案:

答案 0 :(得分:1)

你没有告诉#Unit: milliseconds # expr min lq mean median uq max neval cld # Peter Miksza 23.10125 24.27295 28.46968 26.52559 30.45729 143.0731 1000 a # Moody_Mudskipper 22.82366 24.35622 28.33038 26.72574 30.27768 146.4284 1000 a # catastrophic_failure 22.59413 24.04295 27.99147 26.23098 29.88066 120.6036 1000 a 这些点应该是什么样子,所以你不会为每个案例得到不同的结果。

您想要做的是在一次调用中绘制条件为“恶意”的所有点,并指定要使用哪种标记/颜色,然后第二次调用非恶意条件指定单独的标记。

这样的事情:

scatter()