Gnuplot - Beheben der durchsichtigen 3D-Plot-Interpolation

Gnuplot - Beheben der durchsichtigen 3D-Plot-Interpolation

Im Bild unten können Sie die Linien durch die interpolierte Oberfläche sehen. Wie kann ich das verhindern? Ich habe das Diagramm mit den folgenden Befehlen erstellt ("data.txt" enthält eine Reihe von Punkten, die die Oberfläche sin(x^2+y^2)/(x^2+y^2) darstellen):

set pm3d interpolate 0,0
set dgrid3d 30,30
splot "data.txt" with lines

Bildbeschreibung hier eingeben

Antwort1

Ich bin kein Gnuplot-Experte, aber wenn man sich dieDokumentationSeite 161 zeigt den set style fillBefehl.

In der Dokumentation heißt es:

Der Standardfüllstil istleer. DersolideDie Option bewirkt eine Füllung mit einer Volltonfarbe, wenn das Terminal dies unterstützt. Der Parameter gibt die Intensität der Füllfarbe an. Bei einem Wert von 0,0 ist das Feld leer, bei einem Wert von 1,0 hat der innere Bereich dieselbe Farbe wie der aktuelle Linientyp. Einige Terminaltypen können die Dichte kontinuierlich variieren; andere implementieren nur einige Stufen der teilweisen Füllung. Wenn kein Parameter angegeben ist, wird standardmäßig 1 verwendet.

In Ihrem Fall möchten Sie vermutlich den Befehl, der in die Richtung von set style fill transparent 1oder set style fill solid 1geht. Sie müssten sehen, wie beide aussehen, und den besten auswählen. Sie könnten auch mit dem Alphawert herumspielen und etwas wie 0,85 ausprobieren, um zu sehen, ob es besser aussieht als eine vollständig einfarbige Füllung.

Antwort2

Es gibt Möglichkeiten, die Sie ausprobieren und prüfen können, ob sie Ihren Anforderungen entsprechen

set pm3d depthorder

oder

set hidden3d ...

Ausführlichere Beispiele:Gnuplot-Demoskript: hidden2.dem

verwandte Informationen