Вот один из способов воспроизвести вашу фигуру, используя dsxy2figxy
и annotate
. dsxy2figxy
может быть трудно найти в первый раз, так как это не совсем на вашем пути. Он является частью пакета MATLAB и предоставляется в примере функций. Вы можете найти его, выполнив поиск в справочных документах, и, найдя его, откройте его и сохраните в папке на вашем пути.
h1=figure(1);clf
subplot(4,1,1);
hold on
xlim([0.2,1]);ylim([-1,1])
%arrow
[arrowX,arrowY]=dsxy2figxy([0.2,1],[0,0]);
annotation('arrow',arrowX,arrowY)
%crosses
x=[0.3,0.4,0.6,0.7,0.75];
plot(x,0,'kx','markersize',10)
%pipes
p=[0.5,0.65];
text(p,[0,0],'$$\vert$$','interpreter','latex')
%text
text([0.25,0.5,0.65],[1,-1,-1]/2,{'$$d_i$$','E[d]','$$\theta$$'},'interpreter','latex')
axis off
print('-depsc','arrowFigure')
В результате будет получена следующая цифра:
Это своего рода хакерский способ сделать это, так как я обманул MATLAB для печати только одного подзаговора. Все растеризованные форматы (jpeg
, png
и т. Д.) Не дадут вам одинакового результата, так как все они будут печатать всю фигуру, включая то, где должны были быть необъявленные субплоты. Таким образом, чтобы получить этот эффект, он должен быть eps
, и он работает с ним, потому что eps использует намного более жесткие ограничивающие рамки ... так что все бессмысленные пробелы обрезаются. Затем вы можете преобразовать это в любой другой формат.