Nếu bạn muốn có điều gì đó cụ thể trong chú giải, việc xác định đối tượng bạn đặt trong chú giải bằng văn bản thích hợp sẽ dễ dàng hơn. Ví dụ:
import matplotlib.pyplot as plt
import pylab
plt.plot_date(x = xaxis, y = yaxis, marker = 'x', color=[1, 0, 0, .2], label='Data Series')
line1 = pylab.Line2D(range(1),range(1),color='white',marker='x',markersize=10, markerfacecolor="red",alpha=1.0)
line2 = pylab.Line2D(range(10),range(10),marker="_",linewidth=3.0,color="dodgerblue",alpha=1.0)
plt.legend((line1,line2),('Text','Other Text'),numpoints=1,loc=1)
Ở đây, dòng1 xác định đường kẻ ngắn, màu trắng (rất cơ bản) với điểm đánh dấu 'x' màu đỏ và toàn bộ độ mờ. Ví dụ: line2 cung cấp cho bạn dòng màu xanh dài hơn mà không có điểm đánh dấu nào hiển thị. Bằng cách tạo "dòng" này, bạn có thể dễ dàng kiểm soát các thuộc tính của chúng trong chú giải.
Đây là câu trả lời đơn giản nhất cho vấn đề của tôi! Tôi sẽ thêm hai ghi chú: 1) Bạn có thể nhận tùy chọn chú giải bằng 'leg = plt.legend()' khi bạn tạo chú giải. 2) Đối với tôi, tôi cần 'lh.set_alpha (1)' không phải 'lh._legmarker.set_alpha (1)' (không chắc chắn nếu API đã thay đổi ...) – Owen
Lưu ý hay. Bạn có đang sử dụng 'plt.scatter()' không?Sau khi chơi với nó một chút, có vẻ như có một số biến thể nhỏ tùy thuộc vào loại cốt truyện của bạn (có lẽ vì 'plt.scatter' không có' _legmarker' cụ thể vì nó không bao giờ cần phân biệt giữa các dòng và dấu.) – CaptainKinematics
Ngoài ra, câu trả lời gốc của tôi và nhận xét của bạn đều sử dụng alpha = 1. để có được sự minh bạch, nhưng khi tôi chơi với nó bây giờ tôi thấy cần alpha = 0. (matplotlib .__ version__ == '1.5.1'). Tôi có uống thuốc điên hay gì đó không? – CaptainKinematics