2017-04-21 3 views
1

Meine Daten sind in Polarkoordinaten und wenn ich sie plotten und versuche, das Polargitter hinzuzufügen, wird es komplette Kreise sein, aber meine Daten sind nur von 0-60 Grad.Wie kann ich polare Gitter in gnuplot begrenzen?

Wie kann ich das Gitter nur von 0 bis 60 Grad und nicht von einem vollständigen Kreis begrenzen?

Antwort

0

Mir ist keine eingebaute Funktion dafür bekannt. Als Workaround könnte man jedoch die multiplot verwenden, um die Rasterlinien manuell zu zeichnen. Zum Beispiel:

set term pngcairo enhanced size 800,800 
set output 'fig.png' 

set angles degrees 

set multiplot 

set lmargin at screen 0.1 
set tmargin at screen 0.9 
set rmargin at screen 0.9 
set bmargin at screen 0.1 

set samples 1000 
unset border 

R_max = 1 
dR = 0.2 

phi_max = 60. 
dphi = 15 

set xr [0:R_max] 
set yr [0:R_max] 

set xtics out nomirror 
unset ytics 

set style line 42 lc rgb '#666666' dt 3 

unset key 
plot \ 
    for [i=0:phi_max/dphi] (x>=0&&x<=R_max*cos(i*dphi))?tan(i*dphi)*x:1/0 w l ls 42 

set polar 
set trange [0:phi_max] 
unset raxis 
unset rtics 
plot \ 
    for [i=1:ceil(R_max/dR)] i*dR<=R_max?i*dR:1/0 w l ls 42 

unset raxis 
unset rtics 
plot cos(t) w l lw 2 lc rgb 'dark-red' 

produziert: enter image description here

+0

Vielen Dank, es hat mir sehr geholfen. Ich habe noch eine Frage, wenn möglich. ich diesen Code bin mit Heatmap Daten zeichnen mit dem Netz, und es funktioniert perfekt wie in dem Link aber es dosent den Bereich füllen, und wenn ich dgrid3d es verwende, gibt mir ein Quadrat. ich musste meine Daten von polar nach kartesisch umwandeln, um splot in diesem Link zu verwenden, finden Sie die zwei Diagramme und den Code, den ich verwende, https://mega.nz/#F!hcQEHbqR!NVxeSrFoy1-YcEbItzwnng Datenprobe 0,0498099 \t 0,00435558 \t -568,242889 0,0996199 \t 0,00871117 \t -569,395867 0,14943 \t 0,0130668 \t -570,975623 0,19924 \t 0,0174223 \t -572,153443 – user3552683

Verwandte Themen