2014-05-06 222 views
0

具有下面的代碼:生成添加標籤到matplotlib圖

import numpy as np 
import matplotlib.pyplot as plt 
import matplotlib.dates as mdates 

days, impressions = np.loadtxt('results_history.csv', unpack=True, delimiter=',',usecols=(0,1) , 
     converters={ 0: mdates.strpdate2num('%d-%m-%y')}) 

plt.plot_date(x=days, y=impressions, fmt="r-") 
plt.title("Load Testing Results") 


#params = {'legend.labelsize': 500, 
    #'legend.handletextpad': 1, 
    #'legend.handlelength': 2, 
    #'legend.loc': 'upper left', 
    #'labelspacing':0.25, 
    #'legend.linewidth': 50} 
#plt.rcParams.update(params) 

plt.legend("response times") 

plt.ylabel("Date") 
plt.grid(True) 
plt.show() 

的圖形,但我不明白我怎麼可以添加一些XY標籤。生成的圖形:enter image description here

還嘗試增加圖例文字大小,但不顯示文字。 X軸上的標籤重疊。 CSV文件:

01-05-14, 55494, Build 1 
10-05-14, 55000, Build 2 
15-05-14, 55500, Build 3 
20-05-14, 57482, Build 4 
25-05-14, 58741, Build 5 

如何從csv添加xytext並更改圖例和X軸的格式?

+0

你已經有效地提出了三個問題之一。 – Ffisegydd

回答

2

你需要annotate,如:

plt.annotate('some text',xy=(days[0],impressions[0])) 

要調整x軸的文字,你可以添加:

fig=plt.figure() # below the import statements 
... 
fig.autofmt_xdate() # after plotting 

要更改圖例文本使用標籤參數在你的繪圖功能:

plt.plot_date(x=days, y=impressions, fmt="r-",label="response times") 

要增加圖例字體大小,請執行以下操作:

plt.legend(fontsize='x-large') 
+0

這將返回'AttributeError:'str'對象沒有屬性'toordinal''。它也未能回答OP問題的其他部分。 – Ffisegydd

+0

@Ffisegydd謝謝 - 修正 – atomh33ls