给matplotlib图添加标签

3 投票
1 回答
23252 浏览
提问于 2025-04-18 05:32

有以下代码:

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

撰写回答