Kan gnuplot scatterplots produceren?

Ik wil het beeld van twee reëel gewaardeerde analytische functies f, g (van twee reële variabelen x, y elk) weergeven in een tweedimensionale plot. D.w.z. Ik wil bemonsteren (x, y) en gnuplot een punt (f (x, y), g (x, y)) weergeven in het tweedimensionale f, g-vlak voor elk bemonsteringspunt. Natuurlijk kan ik (x, y) in een extern programma bemonsteren en een gegevensbestand met 2 kolommen uitvoeren om deze plot te produceren. Het kost niet eens veel meer moeite om het te doen. Ik vraag vooral omdat gnuplot misschien routines heeft ingebouwd om op een slimmere manier (x, y) te samplen dan een tweedimensionaal raster met gelijke afstanden.

1

1 antwoord

Dit is afhankelijk van hoe je x en y gevarieerd wilt hebben. Ik veronderstel dat, als je een spreidingsdiagram maakt, het waarschijnlijk niet veel uitmaakt. Als ik je vraag goed begrijp, kun je dat relatief gemakkelijk doen.

set parametric

#view from inifity on the z-axis
set view map

#example functions
f(x,y)=sin(x)*cos(y)
g(x,y)=cos(x)*sin(y)

splot f(u,v),g(u,v),0 w points

Dit zal echter alleen op gelijkmatig verdeelde x en y monsters nemen. Als je iets slimmer/gecompliceerder wilt, kun je een andere functie schrijven om x om te zetten in een andere functie van x die je wilt - bijv .:

X(x)=x**2
f(x,y)=sin(X(x))*cos(y)
...
0
toegevoegd
@highsciguy - Het is set sample of set isosample (bijvoorbeeld stel sample 100.100 in ). Ik heb nu geen tijd om erachter te komen wat het is;).
toegevoegd de auteur mgilson, de bron
@highsciguy - het is set isosamples NX, NY waarbij NX en NY het aantal gewenste samples in x en y zijn.
toegevoegd de auteur mgilson, de bron
Ziet er heel goed uit! Hoe verhoog ik het aantal bemonsteringspunten?
toegevoegd de auteur highsciguy, de bron