Zeichnen Sie zwei Datensätze in demselben Diagramm mit gnuplot. Einer mit dgrid3d, der andere ohne

8

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?

    
wojrze 13.03.2012, 13:56
quelle

1 Antwort

8

Ja, das ist möglich, aber es ist etwas komplizierter, als Sie vielleicht denken. Der Schlüssel ist set table

zu verwenden

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.

    
mgilson 14.03.2012, 13:19
quelle

Tags und Links