看起来很简单,但我无法在pandas DataFrame中绘制带有“点”的X-Y图表。 我想在X Y图表上将 subid 显示为“Mark”,其中X为年龄,Y为 fdg 。
到目前为止代码
mydata = [{'subid': 'B14-111', 'age': 75, 'fdg': 3}, {'subid': 'B14-112', 'age': 22, 'fdg': 2}, {'subid': 'B14-112', 'age': 40, 'fdg': 5}]
df = pandas.DataFrame(mydata)
DataFrame.plot(df,x="age",y="fdg")
show()
答案 0 :(得分:13)
df.plot()
将接受matplotlib kwargs
。请参阅docs
mydata = [{'subid': 'B14-111', 'age': 75, 'fdg': 3}, {'subid': 'B14-112', 'age': 22,
'fdg': 2}, {'subid': 'B14-112', 'age': 40, 'fdg': 5}]
df = pandas.DataFrame(mydata)
df = df.sort(['age']) # dict doesn't preserve order
df.plot(x='age', y='fdg', marker='.')
再次阅读你的问题,我想你可能真的要求散点图。
import matplotlib.pyplot as plt
plt.scatter(df['age'], df['fdg'])
查看matplotlib文档。
答案 1 :(得分:1)
请尝试以下散点图。
import pandas
from matplotlib import pyplot as plt
mydata = [{'subid': 'B14-111', 'age': 75, 'fdg': 3}, {'subid': 'B14-112', 'age': 22,
'fdg': 2}, {'subid': 'B14-112', 'age': 40, 'fdg': 5}]
df = pandas.DataFrame(mydata)
x,y = [],[]
x.append (df.age)
y.append (df.fdg)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(y,x,'o-')
plt.show()