Verfasst am: 13.03.2016, 15:33
Titel: graustufen Grafik in farbigen Graph
Hallo, ich habe einen 3D Plot aus einer Punktewolke erstellt und würde nun gerne zur Übersicht eine grayscale Grafik in den Graphen plotten. Der Ansatz ist wie folgt:
Jedoch scheint dieser Ansatz nicht zu funktionieren. Ist es generell möglich ein grayscale Bild in einen Graphen (auf einem bestimmten Achsenwert (z.B. mittig der Z-Achse) zu plotten, so dass das Bild und auch der Graph in der Farbe nicht verändert wird?
Verfasst am: 13.03.2016, 19:58
Titel: Re: graustufen Grafik in farbigen Graph
Hallo Faumat,
Wenn Du eine neue Colormap setzt, wirkt die sich auf alle angezeigten Objekte aus. Du könntest das Image also per
ind2rgb
in ein True-Color-Bild umwandeln. Dann verwendet es die ColorMap der Figure gar nicht.
Anmerkung für zukünftige Fragen: "scheint dieser Ansatz nicht zu funktionieren" erklärt nicht, welches Problem auftritt. Scheint es nur so, oder "funktioniert" es wirklich nicht? Und was funktioniert nicht?
Das Ziel ist es in einen 3D-Graphen ein Bild oder eine Kurve auf einer beliebigen Z-Ebene darzustellen. Dazu habe ich bislang ein Meshgrid erstellt und versuche es darauf abzubilden. Ich weiß jedoch nicht, ob dies der beste Ansatz ist.
% Bild auf Meshgrid-Ebene in Graphen plotten surface(XD,YD,ZD,I,...
'FaceColor','texturemap',...
'EdgeColor','none',...
'CDataMapping','direct') colormap(gray(256)); % Damit Bild in Graustufen bleibt view(-35,45)
Führe ich den Code aus, sehe ich eine schwarze Ebene inmitten eines schwarz/weiß Graphen. (http://fs5.directupload.net/images/160314/hrck2ril.jpg)
Konvertiere ich das Bild mit der Funktion in2rgb kommt die Fehlermeldung:
Code:
Error using ind2rgb (line20)
Not enough input arguments.
Die fehlermeldung ist eindeutig:
ind2rgb
benötigt 2 Inputs. Immer, wenn ein Fehler mit einem Befehl auftaucht, ist ein Blick in die Hilfe-Texte das erste Weg, den man tun sollte:
Danke für den Input, jetzt hat es mit dem Bild funktioniert. Jedoch lässt sich immer noch nicht ein beliebiger Plot auf einer beliebigen Z-Achse darstellen. Habe gefühlt schon alle Dokumentationen und Foreneinträge zu diesem Thema durch, jedoch scheint niemand ein ähnliches Problem zu haben.
Befehl etwas plotten will, stellt es mir den plot immer auf der Z=0-Achse dar.
Ist es generell möglich dem Plot-Befehl eine Z-Achse zuzuweisen? Oder verschiedene mit dem Plot-Befehl darstellbare Funktionen auf einer beliebigen Z-Ebene zu plotten?
Was ich versuche auf einer anderen Z-Ebene darzustellen ist folgendes:
Befehl etwas plotten will, stellt es mir den plot immer auf der Z=0-Achse dar.
hold
hat mit der Darstellung der Z-Achse überhaupt nichts zu tun. Dieser Befehl beeinflusst nur, ob das Zeichnen neue Objekte vorherige automatisch löscht.
Zitat:
Ist es generell möglich dem Plot-Befehl eine Z-Achse zuzuweisen?
Ich verstehe nicht, was "zuweisen einer Z-Achse" bedeutet.
Du kannst natürlich beliebige 3D-Plots erzeugen und den
line
,
surf
oder
patch
Objekten auch einen Z-Wert zuweisen. In der Doku findest Du einiges zu 3D Grafiken.
Zitat:
Oder verschiedene mit dem Plot-Befehl darstellbare Funktionen auf einer beliebigen Z-Ebene zu plotten?
Wie die Dokumentation eindeutig erklärt, erzeugt
plot
2D-Grafiken. Siehe
docplot
: "2-D line plot"
Du brauchst vielleicht
plot3
oder
line
.
Gruß, Jan
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.