Verfasst am: 13.11.2015, 16:13
Titel: export_fig bei Überlagerung von Foto und contour
Hallo,
ich überlagere ein Foto mit einem Contourplot. Funktioniert soweit auch wunderbar. Wenn ich den Plot nun aber mittels export_fig (http://www.mathworks.com/matlabcent.....exchange/23629-export-fig) speichern möchte, passiert folgendes: Ohne eine Einschränkung des sichtbaren Bereiches mittels axis, sieht das abgespeicherte jpg aus wie erwartet. Begrenze ich den sichtbaren Bereich nun aber mit axis, ist das Foto im gespeicherten jpg nicht mehr zu sehen. Dort sehe ich nun nur noch den Contourplot. Warum? Bzw. kann ich dieses Verhalten irgendwie abstellen?
figure imagesc(img) axisimage axis([2000300020003000])% wird der Ausschnitt aktiviert, sieht man im gespeicherten jpg das Foto nicht mehr. Warum? hold on
[~,hcon]=contourf(x,y,z,linspace(min(z(:)),max(z(:)),20),'EdgeColor','none');
get(gcf,'Renderer');
ch=get(hcon,'child');
alpha(ch,0.1)
export_fig('schlecht.jpg','-transparent')
Habe seit heute eine neue Matlabversion (2015b) und jetzt scheint der alpha-Befehl überhaupt nich mehr zu funktionieren. Jetzt sehen beide Plots schon als matlab-figure falsch aus. Der contour-plot wird überhaupt nicht mehr transparent. Ist das ein bekanntes Problem? Kann das jemand so bestätigen? Davor hatte ich 2012b.
Das scheint tatsächlich ein bekanntes Problem zu sein. http://www.mathworks.com/matlabcent.....ransparancy-on-a-bar-plot
Leider habe ich noch keinen Workaround für mein Problem gefunden. Bin dankbar für Tips.
Wie kann es eigentlich sein, dass eine Funktionalität in einer neueren Version nicht mehr verfügbar ist
figure imagesc(img) axisimage hold on
[~,hcon]=contourf(x,y,z,linspace(min(z(:)),max(z(:)),20),'EdgeColor','none');
drawnow;
hFace=hcon.FacePrims;
for idx=1:numel(hFace)
hFace(idx).ColorType='truecoloralpha';
hFace(idx).ColorData(4)=150;
end
export_fig('gut.jpg','-transparent')
figure imagesc(img) axisimage axis([2000300020003000]) hold on
[~,hcon]=contourf(x,y,z,linspace(min(z(:)),max(z(:)),20),'EdgeColor','none');
drawnow;
hFace=hcon.FacePrims;
for idx = 1:numel(hFace)
hFace(idx).ColorType='truecoloralpha';
hFace(idx).ColorData(4)=150;
end
export_fig('auchgut.jpg','-transparent')
Das funktioniert jetzt in 2015b. Außerdem klappt das mit dem Abspeichern nun auch.
Danke an alle, die sich Gedanken gemacht haben.
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.