2015-03-02 2 views
0

У меня есть dataframe называется DF, который выглядит следующим образом:Отображение столбцов данных для построения графиков Свойства

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

Я хотел бы сделать визуальный текстовый участок данных. Я хочу построить Qnames на фигуре с их координатами set = X, Y и a 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

Это код, в котором вы работаете? Откуда «топор»? – YXD

+0

Приношу свои извинения. Я очень к этому не знаком. Я редактировал свой пост и включил весь мой код. – Jeremy

+0

Почему бы просто не использовать возможности сюжета в библиотеке Pandas? –

ответ

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() 
Смежные вопросы