Tôi đang cố gắng tạo một hình matlab hoạt động tốt cho tài liệu LaTeX. Một vấn đề đã biết là XTickLabel và YTickLabels không được hiển thị bằng trình thông dịch LaTeX, dẫn đến đồ họa xấu. (Lưu ý: Tôi nhận thấy có một số cách khắc phục liên quan đến việc thay thế nhãn tex bằng đối tượng văn bản (ví dụ: định dạng_tics ), nhưng các giải pháp này rất quan trọng khi vẽ nhiều biểu đồ và có những vấn đề riêng đòi hỏi phải điều chỉnh nhiều cho từng biểu đồ riêng lẻ. )
Tôi cảm thấy việc giải quyết vấn đề này bằng cách thay đổi phông chữ sẽ thanh lịch hơn một chút so với việc thay thế các đối tượng trong đồ họa.
我đã tải xuống một .otf phiên bản của phông chữ LaTex và đặt nó xuất hiện trong toàn bộ hình:
set(0,'defaulttextinterpreter','latex')
set(0,'DefaultTextFontSize', 10)
set(0,'DefaultTextFontname', 'CMU Serif')
set(0,'DefaultAxesFontSize', 10)
set(0,'DefaultAxesFontName','CMU Serif')
Tuy nhiên, mọi thứ trông vẫn ổn trong cửa sổ đồ họa MATLAB;
Nếu tôi in bằng trình kết xuất "họa sĩ" (sử dụng GUI xuất hoặc lệnh in), các phông chữ trông buồn cười và nhất quán không nhất quán. Một số ký hiệu sẽ không hiển thị chính xác và các phông chữ khác nhau sẽ xuất hiện trong suốt quá trình in.
print('-depsc','-painters',['InstP.eps'])
Nếu tôi chuyển sang trình kết xuất zbuffer, các phông chữ sẽ nhất quán nhưng có các lỗi khác. Chất lượng giảm sút, một số văn bản bị thiếu (hoặc bị che bởi văn bản khác).
print('-depsc','-zbuffer',['InstZ.eps'])
opengl là một mớ hỗn độn ở khắp mọi nơi.
Có ai biết tại sao các trình kết xuất này gặp vấn đề khi sử dụng các phông chữ này không? Có cách giải quyết nào để phông chữ hiển thị chính xác không?
Mã mẫu:
cốt truyện phụ (1,2,1)
imshow(IMG,'XData',XDat,'YData',YDat);
hình ảnh trục;trục([0 20 -5 5]);
xlabel('$x^*$');
cốt truyện phụ (1,2,2)
imshow(SqImg,'XData',Xs,'YData',Xs);
xlabel('$\Phi_B$');
ylabel('$\Phi_A$');
trục vuông;
set(gca,'YDir','bình thường',...
'XAxisLocation','dưới cùng',...
'YAxisLocation','left',...
'XTick',(0:.5:1).^Exp,'XTickLabel',0:.5:1,...
'YTick',(0:.5:1).^Exp,'YTickLabel',0:.5:1);
print('-depsc','-painters',['InstP.eps'])
print('-depsc','-zbuffer',['InstZ.eps'])
Tôi là một lập trình viên xuất sắc, rất giỏi!