Patches in Matlab sind aus einzelnen Dreiecken zusammengeklebt. Ihre Ränder sind in der Regel nicht sichtbar, aber wenn ich die Figur in einem Vektorgrafikformat exportieren können sie deutlich zu erkennen (nicht das ganze Bild wird gezeigt, nur einen gezoomten in Abschnitt)MATLAB: Kanten von Patches nach dem Export als Vektorgrafiken sichtbar
-Code zu erzeugen, diese MWE war:
xx = [0:1:100, 100:-1:0];
yy = [zeros(1,101), ones(1,101)];
p1 = patch(xx,yy,'b');
print('testPatch','-dpdf','-painters')
Alternative Funktion fill
die gleiche verhält. Gibt es eine Möglichkeit, diesen Fehler zu vermeiden, oder muss ich in diesem Fall mit Bitmaps leben?
BEARBEITEN: Eine Abhilfe besteht darin, den Bereich auszubrüten, anstatt ihn zu füllen. Das ist natürlich nicht immer möglich, aber in meinem Fall funktionierte es gut und ich konnte bei Vektorgrafiken bleiben. Die entsprechende FEX-Einreichung ist http://www.mathworks.com/matlabcentral/fileexchange/30733-hatchfill
Ich bin nicht sicher, was das verursacht, aber ich habe ähnliches Verhalten beim Exportieren von Plots mit kreisförmigen Markierungen beobachtet. Die kreisförmigen Markierungen enden wie fleckige Polygone, die aus mehreren Dreiecken bestehen. –
Ich denke, dass das Problem, das Sie beschreiben, eine einfache Lösung hat: Verwenden Sie nicht 'o' als Markertyp, sondern '.'. Das hat mir, soweit ich mich erinnern kann, geholfen. – FliegenderZirkus
Ich werde nie müde werden, 'export_fig' von Matlab FEX zu empfehlen. Es macht einen erstaunlichen Job, Zahlen zu exportieren, viel besser als Maltab selbst. Versuch es. –