2013-07-06 24 views
8

Basit görünüyor ancak panda DataFrame'de "noktalar" olan bir X-Y grafiği çizemiyorum. alt XE Tablosunda X olarak "İşaretle" yaş ve Y fdg olarak göstermek istiyorum.Pandalar basit X Y arsa

Kod bugüne kadar

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() 

enter image description here

cevap

9

df.plot() matplotlib kwargs kabul eder. 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='.') 

enter image description here

Ben aslında bir ScatterPlot soran olabilir düşünüyorum, sorunu tekrar okuma bölümüne bakın.

import matplotlib.pyplot as plt 
plt.scatter(df['age'], df['fdg']) 

matplotlib docs göz at.

+0

Her iki yanıt için de teşekkürler. Ancak noktalarla "subid" ismini nasıl koyulur. – LonelySoul

+1

http://stackoverflow.com/questions/15910019/annotate-data-points-while-plotting-from-pandas-dataframe/15911372#15911372 –

+0

@DanAllan maalesef "Draw" un tanımlanmadığını söylüyor. Hangi modüle ait ... – LonelySoul

1

Saçılma diyagramı için aşağıdakileri deneyin.

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()