在 matplotlib 散点图中突出显示特定的数据点

6
我有一份包含12个数据列的CSV。 我现在关注这4列 目前,我已经绘制了“Pass def”和“Rush def”。我想能够突出散点图上的特定点。例如,我想突出1995 DAL点,并将该点更改为黄色。
我已经开始使用for循环,但不确定该怎么做。任何帮助都是好的。
以下是我的代码:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import csv
import random

df = pd.read_csv('teamdef.csv')

x = df["Pass Def."]
y = df["Rush Def."]
z = df["Season"]

points = []
for point in df["Season"]:
    if point == 2015.0:

    print(point)


plt.figure(figsize=(19,10))
plt.scatter(x,y,facecolors='black',alpha=.55, s=100)
plt.xlim(-.6,.55)
plt.ylim(-.4,.25)
plt.xlabel("Pass DVOA")
plt.ylabel("Rush DVOA")
plt.title("Pass v. Rush DVOA")
plot.show
1个回答

8
您可以叠加多个散点图,最简单的方法可能是:
plt.scatter(x,y,facecolors='black',alpha=.55, s=100)
plt.scatter(x, 2015.0, color="yellow")

好的,那很有道理。但我遇到了一个错误:ValueError: x和y的大小必须相同。我认为它将2015.0识别为y值。 - jhaywoo8
2
是的,抱歉之前表述不够清晰。我的意思是你需要绘制出 y 值所在的 x 值。因此代码如下: plt.scatter(df["Pass Def."][df['Season']== 2015.0], 2015.0, color="yellow") - story645

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接