我是一个python新手,患有如何在matplotlib.pyplot中导入CSV文件 我想看看小时(=人们花了多少时间玩视频游戏)和等级(=游戏等级)之间的关系。然后我想用女性(1)和男性(0)之间的不同颜色的Tax绘制散点图。所以,我的x将是' hour'而且我的水平会很高。
我的数据csv文件如下所示:
hour gender level
0 8 1 20.00
1 9 1 24.95
2 12 0 10.67
3 12 0 18.00
4 12 0 17.50
5 13 0 13.07
6 10 0 14.45
...
...
499 12 1 19.47
500 16 0 13.28
这是我的代码:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
df=pd.read_csv('data.csv')
plt.plot(x,y, lavel='some relationship')
plt.title("Some relationship")
plt.xlabel('hour')
plt.ylabel('level')
plt.plot[gender(gender=1), '-b', label=female]
plt.plot[gender(gender=0), 'gD', label=male]
plt.axs()
plt.show()
我想绘制以下图表。因此,将有两行男性和女性。
y=level| @----->male
| @
| * *----->female
|________________ x=hour
但是,我不知道如何解决这个问题。 我一直收到错误名字错误:名字'小时'没有定义。
答案 0 :(得分:2)
可以这样做:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
df = pd.DataFrame(data={"hour": [8,9,12,12,12,13,10],
"gender": [1,1,0,0,0,0,0],
"level": [20, 24.95, 10.67, 18, 17.5, 13.07, 14.45]})
df.sort_values("hour", ascending=True, inplace=True)
fig = plt.figure(dpi=80)
ax = fig.add_subplot(111, aspect='equal')
ax.plot(df.hour[df.gender==1], df.level[df.gender==1], c="red", label="male")
ax.plot(df.hour[df.gender==0], df.level[df.gender==0], c="blue", label="female")
plt.xlabel('hour')
plt.ylabel('level')