Ich versuche zwei Datensätze mit gnuplot zu plotten. Sie sind beide Tripel (x, y, z). Sie sind nicht auf einem Raster angeordnet. Ich möchte einen von ihnen mit dgrid3d
und pm3d
darstellen. Außerdem möchte ich den anderen Datensatz überlagern, aber nur als verstreute Punkte.
Um ein konkreteres Beispiel zu geben: Ich versuche die Wirkung eines Zylinders zu beschreiben, der sich einer Oberfläche nähert. Ich möchte die Antwort der Oberfläche grafisch darstellen, und hier kommt dgrid3d
zum Tragen. Darüber hinaus möchte ich die Position des Zylinders und ich habe seinen Umfang als Punkte.
Ich habe verwendet:
%Vor% Der Datensatz hat ungefähr 100x100 Punkte, die auf einem Fast-Quadrat angeordnet sind, so dass 100.100 hier am besten funktionieren. Egal, wie ich den zweiten Datensatz zeichne, es endet immer in einem Quadrat mit den gleichen Abmessungen wie der Zylinder, anstelle eines schönen Kreises. Wenn ich dgrid3d
ausschalte, kann ich den zweiten Datensatz selbst plotten und das Ergebnis ist ein schöner Umfang des Zylinders.
Meine Frage ist also: Ist es möglich, ein 3D-Diagramm mit zwei Datensätzen zu zeichnen, wobei einer dgrid3d
verwendet und der andere nicht?
Ja, das ist möglich, aber es ist etwas komplizierter, als Sie vielleicht denken. Der Schlüssel ist set table
Für Ihr Beispiel:
%Vor%Der Grund, dass Ihr Versuch nicht funktionierte, liegt darin, dass, wenn dgrid3d in Kraft ist, Alle eingelesenen Daten in ein Gitter interpoliert und dann mit dem von Ihnen angegebenen Stil gezeichnet werden.
Aus gnuplots help dgrid3d
Wenn aktiviert, werden 3D-Daten aus einer Datei gelesen
werden immer als verstreute Daten behandelt.
Als eine Randnotiz kann diese Methode auch dazu verwendet werden, Konturen über einem pm3d zu zeichnen.
Tags und Links gnuplot