2015-03-02 68 views
0

我有一個名爲DF是數據幀是這樣的:映射列數據以圖形屬性

Qname X Y Magnitude 
Bob  5 19 10 
Tom  6 20 20 
Jim  3 30 30 

我想使數據的可視文本的情節。我想繪製一個圖形上的Qname,座標爲set = X,Y和s = Size。

我曾嘗試:

fig = plt.figure() 
ax = fig.add_axes((0,0,1,1)) 
X = df.X 
Y = df.Y 
S = df.magnitude 
Name = df.Qname 
ax.text(X, Y, Name, size=S, color='red', rotation=0, alpha=1.0, ha='center', va='center') 
fig.show() 

但是沒有什麼是出現在我的陰謀了。任何幫助是極大的讚賞。

+0

這是正在運行的代碼? 'ax'從哪裏來? – YXD 2015-03-02 22:09:10

+0

我的歉意我對此很新。我編輯了我的文章幷包含了我的所有代碼。 – Jeremy 2015-03-02 22:12:52

+0

爲什麼不直接使用在熊貓庫中的情節的能力? – 2015-03-02 22:30:50

回答

1

這應該讓你開始。 Matplotlib不處理你的文本位置,所以你可能需要玩這個。

import pandas as pd 
import matplotlib.pyplot as plt 

# replace this with your existing code to read the dataframe 
df = pd.read_clipboard() 

plt.scatter(df.X, df.Y, s=df.Magnitude) 


# annotate the plot 
# unfortunately you have to iterate over your points 
# see http://stackoverflow.com/q/5147112/553404 

for idx, row in df.iterrows(): 
    # see http://stackoverflow.com/q/5147112/553404 
    # for better annotation options 
    plt.annotate(row['Qname'], xy=(row['X'], row['Y'])) 

plt.show()