Tôi đang cố gắng sử dụng phông chữ TTF trong matplotlib; tệp .ttf được tải xuống và lưu trữ cục bộ trên máy của tôi. Tôi đã theo dõi other instructions on this site để chọn phông chữ bằng cách sử dụng font_manager
; tuy nhiên, bất kỳ văn bản nào mà tôi tạo cố gắng sử dụng các thuộc tính phông chữ vẫn xuất hiện trong phông chữ matplotlib mặc định.Tại sao matplotlib không sử dụng phông chữ .ttf mà tôi cung cấp?
Tôi biết rằng Python tìm thành công tệp phông chữ, vì prop.get_name()
và các lệnh tương tự hiển thị thuộc tính của phông chữ tôi muốn - nhưng đó không phải là những gì xuất hiện trên hình của tôi. Bất kỳ đề xuất?
Như một ví dụ:
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
fig, ax = plt.subplots()
prop = fm.FontProperties(fname='/Users/smith/fonts/coolfont.ttf')
ax.set_title('Text in a cool font', fontproperties=prop, size=40)
fig.show()
thử xóa bộ nhớ cache phông chữ của bạn trong thư mục mpl (ví dụ: ~/.matplotlib) –
Tôi đã xóa tệp bộ nhớ cache phông chữ trong thư mục mpl. Chạy lại mã đã không thay đổi kết quả. Tôi sẽ lưu ý rằng nó không chỉ sử dụng một phông chữ * .ttf cụ thể - ngay cả đối với các phông chữ trong thư mục mpl-data/fonts/của tôi, việc thiết lập một tên họ khác trong 'Trình quản lý phông chữ' không bao giờ thay đổi những gì xuất hiện trong cửa sổ lô. – kwill
hmmm. Chỉ có điều khác tôi có thể nghĩ là thay đổi dòng thứ 4 của bạn thành: 'prop = fm.FontProperties (fname = 'coolfont')' –