每个数据集条目的绘图图

时间:2018-06-21 14:20:08

标签: python pandas matplotlib seaborn

这是我的数据集:

raw_data = {'first_name': ['Jason', 'Molly', 'Tina', 'Jake', 'Amy'], 
            'last_name': ['Miller', 'Jacobson', 'Ali', 'Milner', 'Cooze'], 
            'female': [0, 1, 1, 0, 1],
            'age': [42, 52, 36, 24, 73], 
            'preTestScore': [4, 24, 31, 2, 3],
            'postTestScore': [25, 94, 57, 62, 70]}

df = pd.DataFrame(raw_data, columns = ['first_name', 'last_name', 'age', 'female', 'preTestScore', 'postTestScore'])

我是绘制数据的新手,在这里有点迷失了。我想为每个人画一条线,其中x标记是preTestScorepostTestScore,而y标记则是从0到100(可能的测试分数范围)。

我当时以为我可以做一个散点图,但那时我不知道如何连接点。

1 个答案:

答案 0 :(得分:0)

Graph

我一直在寻找坡度。谢谢@mostlyoxygen

x = df.loc[:, "preTestScore":"postTestScore"]
x["full_name"] = df["first_name"] + " " + df["last_name"]

num_students = x.shape[0]
num_times = x.shape[1] - 1


plt.xlim(0, 1)
plt.ylim(0, 100)
plt.xticks(np.arange(2), ["perTestScore", "postTestScore"])

plt.title("Score changes after Test taking")
plt.ylabel("Testscore")

for row in x.values:
    plt.plot([0, 1], [row[0], row[1]], label=row[2])

plt.legend(loc="best")
plt.show()