给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轴的标签。生成的图表是这样的:
我还尝试增大图例的文字大小,但文字没有显示出来。而且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文件中添加XY文本,并且更改图例和X轴的格式呢?
1 个回答
5
你需要使用注释,比如:
plt.annotate('some text',xy=(days[0],impressions[0]))
要调整x轴上的文字,你可以添加:
fig=plt.figure() # below the import statements
...
fig.autofmt_xdate() # after plotting
要改变图例的文字,可以在你的绘图函数中使用label参数:
plt.plot_date(x=days, y=impressions, fmt="r-",label="response times")
要增大图例的字体大小,可以这样做:
plt.legend(fontsize='x-large')