I patch in Matlab sono incollati insieme dai singoli triangoli. I loro bordi sono normalmente non sono visibili, ma quando esporto la figura in un formato grafico vettoriale possono chiaramente essere visto (non l'intera immagine viene visualizzata, solo una porzione ingrandita-in)MATLAB: i bordi delle patch sono visibili dopo l'esportazione come grafica vettoriale
codice per generare questo MWE era:
xx = [0:1:100, 100:-1:0];
yy = [zeros(1,101), ones(1,101)];
p1 = patch(xx,yy,'b');
print('testPatch','-dpdf','-painters')
funzione alternativa fill
si comporta allo stesso. C'è un modo per evitare questo bug o devo vivere con bitmap in questo caso?
MODIFICA: una soluzione consiste nel tratteggiare l'area anziché riempirla. Ovviamente non è sempre possibile, ma nel mio caso ha funzionato bene e potrei limitarmi alla grafica vettoriale. La richiesta FEX rilevante è http://www.mathworks.com/matlabcentral/fileexchange/30733-hatchfill
Non sono sicuro di ciò che causa questo, ma ho osservato un comportamento simile durante l'esportazione di grafici con marcatori circolari. Gli indicatori circolari finiscono per sembrare poligoni chiari composti da diversi triangoli. –
Penso che il problema che descrivi abbia una soluzione semplice: non usare 'o' come tipo di marcatore, ma piuttosto '.'. Questo è stato il trucco per me, per quanto posso ricordare. – FliegenderZirkus
Non mi stancherò mai di consigliare "export_fig" da Matlab FEX. Fa un lavoro straordinario esportando cifre, molto meglio di Maltab stessa. Provalo. –