2014-04-12 20 views
15

Cho đến nay tôi đã có thể gắn nhãn các ô con tốt nhưng tôi gặp sự cố với văn bản chính.Thay đổi văn bản nhãn chú thích cốt truyện chính

Dưới đây là phần có liên quan của mã của tôi:

data_BS_P = data[channels[0]] 
data_BS_R = data[channels[1]] 
data_BS_Y = data[channels[2]] 
plot_BS_P = data_BS_P.plot() #data_BS_P is a pandas dataframe 
axBS = plot_BS_P.gca() 
axBS.plot(data_BS_R, label='Roll') 
axBS.plot(data_BS_Y, label='Yaw') 
axBS.set_ylabel('Amplitude (urad)') 
axBS.legend(loc='upper center', bbox_to_anchor=(0.5, 1.05), ncol=3, 
      fancybox=True, shadow=True) 
ml1 = MultipleLocator(10) 
ml2 = MultipleLocator(3600) 
axBS.yaxis.set_minor_locator(ml1) 
axBS.xaxis.set_minor_locator(ml2) 
plot_BS_P.save('L1-SUS-BS_M1_DAMP_PRY_INMON.jpg') 

Và đây là những gì tôi có cho đến nay: enter image description here Thông báo nhãn dài cho dòng màu xanh. Tôi muốn được gắn nhãn là "Quảng cáo chiêu hàng" thay vì tên tệp. Tôi có thể làm điều đó ở đâu?

+0

Bạn chưa đăng tải đủ code để giải quyết vấn đề này. Đăng mã nơi đường màu xanh lam được vẽ. Tôi giả định vấn đề là trong dòng này 'plot_BS_P = data_BS_P.plot()'. – ebarr

+0

@ebarr, 'plot_BS_P = data_BS_P.plot()' đã làm. 'data_BS_P' có thể là' pandas' 'DataFrame', có tên riêng là blot-in. Tôi có đúng không, O.P.? –

+0

Đó là data_BS_P.plot() vẽ đường màu xanh lam. Dòng trên đây là dữ liệu = TimeSeriesDict.fetch (kênh, bắt đầu, kết thúc, verbose = True) và phần còn lại là danh sách lớn các kênh tôi phải tải xuống ... –

Trả lời

36

Bạn cần phải truy cập của đối tượng legend() và sử dụng set_text() để thay đổi các giá trị văn bản, một ví dụ đơn giản:

plt.plot(range(10), label='Some very long label') 
plt.plot(range(1,11), label='Short label') 
L=plt.legend() 
L.get_texts()[0].set_text('make it short') 
plt.savefig('temp.png') 

enter image description here

Trong trường hợp của bạn, bạn đang thay đổi mục đầu tiên trong huyền thoại, tôi khá chắc chắn chỉ số 0 trong số L.get_texts()[0] cũng áp dụng cho vấn đề của bạn.

24

Một cách khác:

ax.legend(labels=mylabels) 
+3

Đây là cách dễ nhất được trình bày ở đây để tôi sử dụng trường hợp. Cảm ơn bạn. – KobeJohn

Các vấn đề liên quan