[ncl-talk] Maximize png Output
Sebastian Giersch
giersch at muk.uni-hannover.de
Sat Sep 12 13:28:49 MDT 2015
Dear NCL Users,
i would like to use the whole space of my 1300x859 png-Output (see
png1.1). I've tried a lot (e.g. gsnMaximize) but it doesn't work. The
height of the plot ist nearly perfect but the width is to small
(vpHeightF = 0.2, vpWidthF=0.6). When I change it in my .ncl file (e.g.
vpHeightF = 0.2, vpWidthF=1.5) I get the wrong result (see png1.2).
Therefore I ask you: How can I use all the space without any margin.
Beste regards,
Sebastian Giersch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: png1.1.png
Type: image/png
Size: 133575 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20150912/f24e344c/attachment-0002.png
-------------- next part --------------
A non-text attachment was scrubbed...
Name: png1.2.png
Type: image/png
Size: 95067 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20150912/f24e344c/attachment-0003.png
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kt20150813.csv
Type: text/csv
Size: 106675 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20150912/f24e344c/attachment-0004.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kt20150814.csv
Type: text/csv
Size: 106675 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20150912/f24e344c/attachment-0005.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hh20150813.csv
Type: text/csv
Size: 171502 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20150912/f24e344c/attachment-0006.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hh20150814.csv
Type: text/csv
Size: 178685 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20150912/f24e344c/attachment-0007.bin
-------------- next part --------------
;Pakete laden
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
;Beginn NCL-Skript
begin
;Variablendefinition
data1 = new((/1440/), string)
data2 = new((/1440/), string)
data3 = new((/1440/), string)
data4 = new((/1440/), string)
plotzeit = new((/1441/), float)
postickx = new((/8/), float)
postickyL = new((/9/), float)
postickyR = new((/11/), float)
posminortickx = new((/24/), float)
posminortickyL = new((/40/), float)
posminortickyR = new((/10/), float)
posminorticky = new((/29/), float)
dummy = new((/8/), float)
plottemp = new((/1441/), float)
hum = new((/1441/), string)
plotTempTd = new((/2,1441/), float)
es = new((/1441/), float)
e = new((/1441/), float)
Td = new((/1441/), float)
plotregen = new((/1441/), float)
plotsumme = new((/1441/), float)
druck = new((/1441/), float)
Temp_NN = new((/1441/), float)
plotdruck = new((/1441/), float)
wind = new((/1441/), float)
windmax = new((/1441/), float)
plotwindmax = new((/145/), float)
plotwindmittel = new((/145/), float)
zeitwind = new((/145/), float)
beaufort = new((/50001,145/), float)
global = new((/1441/), float)
diffus = new((/1441/), float)
plotstrahlung = new((/2,1441/), float)
sonnenstunden = new((/1441/), float)
k = 0
summe = 0.0
l = 0
;Einlesedateien
filename1 = "hh20150813.csv"
filename2 = "hh20150814.csv"
filename3 = "kt20150813.csv"
filename4 = "kt20150814.csv"
;Einlesen der Daten als String (pro Reihe)
data1_ein = asciiread(filename1,(/1441/),"string")
data2_ein = asciiread(filename2,(/1441/),"string")
data3_ein = asciiread(filename3,(/1441/),"string")
data4_ein = asciiread(filename4,(/1441/),"string")
;Herauslöschen der jeweils ersten Zeile
do i = 0,1439
data1(i) = data1_ein(i+1)
data2(i) = data2_ein(i+1)
data3(i) = data3_ein(i+1)
data4(i) = data4_ein(i+1)
end do
;Bestimmung der einzelnen Variablen zum plotten
dummy1 = str_get_field(data1, 1, ";")
dummy2 = str_get_field(data2, 1, ";")
temp1 = str_get_field(data1, 5, ";")
temp2 = str_get_field(data2, 5, ";")
hum1 = str_get_field(data1, 6, ";")
hum2 = str_get_field(data2, 6, ";")
regen1 = str_get_field(data1, 7, ";")
regen2 = str_get_field(data2, 7, ";")
wind1 = str_get_field(data1, 8, ";")
wind2 = str_get_field(data2, 8, ";")
druck1 = str_get_field(data1, 9, ";")
druck2 = str_get_field(data2, 9, ";")
windmax1 = str_get_field(data1, 10, ";")
windmax2 = str_get_field(data2, 10, ";")
windmax1 = str_get_field(data1, 10, ";")
windmax2 = str_get_field(data2, 10, ";")
global1 = str_get_field(data3, 4, ";")
global2 = str_get_field(data4, 4, ";")
diffus1 = str_get_field(data3, 5, ";")
diffus2 = str_get_field(data4, 5, ";")
;Berechnet die Anzahl der vorhandenen Werte
N = num(.not.ismissing(dummy2))
N=700
;Trennung von Datum und Uhrzeit
time1 = str_split_csv(dummy1(0:1439)," ", 3)
time2 = str_split_csv(dummy2(0:N-1)," ", 3)
delete(dummy1)
delete(dummy2)
;Datum festlegen
date1 = time1(0,0)
date2 = time2(0,0)
;Trennung von Stunden, Minuten und Sekunden
dummy1 = str_split_csv(time1(0:1439,1), ":", 3)
dummy2 = str_split_csv(time2(0:N-1,1), ":", 3)
; t_h beinhaltet die Stunden
h = dummy1(:,0)
t_h1 = stringtofloat(h)
delete(h)
h = dummy2(:,0)
t_h2 = stringtofloat(h)
; t_m beinhaltet die Minuten
m = dummy1(:,1)
t_m1 = stringtofloat(m)
delete(m)
m = dummy2(:,1)
t_m2 = stringtofloat(m)
;Bestimmung der ersten vollen Stunden, bei der die Skala beginnt
if (N .ge. 60) then
do i=N-60, N-1
if (t_m1(i) .eq. 0) then
k = i
end if
end do
else
k = 0
end if
;Berechnung der Zeit in Sekunden vom Zeitpunkt t_h1(N-1):t_m1(N-1) an
do i= 0, 1440
if (i .le. 1440-N) then
plotzeit(i) = t_h1(i+N-1)*60*60 + t_m1(i+N-1)*60 - (t_h1(N-1)*60*60 + t_m1(N-1)*60)
else
plotzeit(i) = t_h2(i-(1441-N))*60*60 + t_m2(i-(1441-N))*60 \
+ plotzeit(1440-N) + 60.0 ;+60 wegen dem Zeitpunkt 00:00:00
end if
end do
;******************************************************************************
;Bestimmung der zu plottenden Daten als Float
;plothum = relative Feuchte, plottemp = Temperatur,
;plotTempTd = Temperatur und Taupunkt
;plotregen = Niederschlagsrate pro Minute, plotsumme = 24h Niederschlagssumme
;druck = An der Station gemessener Luftdruck
;plotwindmax = Minutenmaximum des Windes
;plotwindmittel = 10 Minutenmittel des Windes aus den Minutenwerten
;global = Globalstrahlung , diffus = Diffuse Strahlung
;******************************************************************************
do i= 0, 1440
if (i .le. 1440-N) then
plottemp(i) = stringtofloat(temp1(i+N-1))
hum(i) = hum1(i+N-1)
summe = summe + stringtofloat(regen1(i+N-1))
plotsumme(i) = summe
plotregen(i) = stringtofloat(regen1(i+N-1))
druck(i) = stringtofloat(druck1(i+N-1))
wind(i) = stringtofloat(wind1(i+N-1))
windmax(i) = stringtofloat(windmax1(i+N-1))
global(i) = stringtofloat(global1(i+N-1))
diffus(i) = stringtofloat(diffus1(i+N-1))
else
plottemp(i) = stringtofloat(temp2((i-1)-(1440-N)))
hum(i) = hum2((i-1)-(1440-N))
summe = summe + stringtofloat(regen2((i-1)-(1440-N)))
plotsumme(i) = summe
plotregen(i) = stringtofloat(regen2((i-1)-(1440-N)))
druck(i) = stringtofloat(druck2((i-1)-(1440-N)))
wind(i) = stringtofloat(wind2((i-1)-(1440-N)))
windmax(i) = stringtofloat(windmax2((i-1)-(1440-N)))
global(i) = stringtofloat(global2((i-1)-(1440-N)))
diffus(i) = stringtofloat(diffus2((i-1)-(1440-N)))
end if
;Damit eine logarithmische Achsendarstellung funktioniert
if (plotregen(i) .eq. 0) then
plotregen(i) = 0.000000000001
end if
if (plotsumme(i) .eq. 0) then
plotsumme(i) = 0.000000000001
end if
;******************************************************************************
;Berechnung des zu plottenden Taupunktes über die Magnusformel (T>=0)
;******************************************************************************
es(i) = 6.107 * 10^((7.5 * plottemp(i)) \ ;Sättigungsdampfdruck
/ (237.3 + plottemp(i)))
e(i) = stringtofloat(hum(i)) * es(i) ;aktueller Dampfdruck
a = log10(e(i)/6.107)
Td(i) = (237.3 * a) / (7.5 - a) ; Nach T umgestellte Magnusformel
end do
plothum = stringtofloat(hum)*100/2+50 ;Skalierung r. Feuchte anpassen
;******************************************************************************
;Berechnung 10-Minuten Mittelwind und Windmaximum im 10-Minuten-Abstand
;******************************************************************************
do i = 1, 143
plotwindmittel(i) = sum(wind(i*10-5:i*10+5))/11.0
plotwindmax(i) = max(windmax(i*10-5:i*10+5))
zeitwind(i) = plotzeit(i*10)
end do
plotwindmittel(0) = sum(wind(0:10))/11.0
plotwindmax(0) = max(windmax(0:10))
zeitwind(0) = plotzeit(0)
plotwindmittel(144) = sum(wind(1440-10:1440))/11.0
plotwindmax(i) = max(windmax(1440-10:1440))
zeitwind(144) = plotzeit(1440)
;******************************************************************************
;Berechnung des reduzierten Luftdrucks
;Annahme: polytrope Atmosphäre mit -0,65/100m
;******************************************************************************
gam=0.65/100.0
do i = 0, 1440
Temp_NN(i) = (plottemp(i) + gam*54) + 273.15
plotdruck(i) = druck(i) * ((plottemp(i)+273.15)/Temp_NN(i))^(-9.81/(gam*287.15))
end do
;******************************************************************************
;Bestimmung Beaufort Contour-Plot
;******************************************************************************
beaufort(0:299,:) = 0
beaufort(300:1599,:) = 1
beaufort(1600:3399,:) = 2
beaufort(3400:5499,:) = 3
beaufort(5500:7999,:) = 4
beaufort(8000:10799,:) = 5
beaufort(10800:13899,:) =6
beaufort(13900:17199,:) = 7
beaufort(17200:20799,:) = 8
beaufort(20800:24499,:) = 9
beaufort(24500:28499,:) = 10
beaufort(28500:32699,:) = 11
beaufort(32700:50000,:) = 12
;******************************************************************************
;Berechnung der Sonnenstunden (Direkte Strahlung > 120 W/m^2) für einen Tag
;******************************************************************************
summe = 0.0
if (N .eq. 1) then
summe = summe
else
do i=0, N-2
c = stringtofloat(global1(i)) - stringtofloat(diffus1(i))
if (c .ge. 120.0) then
summe = summe + 1
else
summe = summe
end if
end do
end if
do i=0, 1440
if ( i .eq. 1440-(N-1)) then
summe = 0.0
else
if ((global(i) - diffus(i)) .ge. 120.0) then
summe = summe + 1
sonnenstunden(i) = summe / 60.0
else
sonnenstunden(i) = summe / 60.0
end if
end if
end do
;******************************************************************************
;2D Feld für den gemeinsame Plots definieren
;******************************************************************************
plotTempTd(0,:) = plottemp(:)
plotTempTd(1,:) = Td(:)
plotstrahlung(0,:) = global
plotstrahlung(1,:) = diffus
;******************************************************************************
;Bestimmung der festen Temperaturskala
;******************************************************************************
dmy = str_split_csv(date2,".", 3)
month = stringtofloat(dmy(0,1))
if (month .le. 8 .and. month .ge. 6) then
if (min(plottemp) .le. 5) then
tmin=0
tmax=30
else if (max(plottemp) .ge. 35) then
tmin=10
tmax=40
else
tmin=5
tmax=35
end if
end if
else if (month .le. 11 .and. month .ge. 9) then
if (min(plottemp) .le. -5) then
tmin=-10
tmax=20
else if (max(plottemp) .ge. 25) then
tmin=0
tmax=30
else
tmin=-5
tmax=25
end if
end if
else if (month .le. 2 .or. month .ge. 12) then
if (min(plottemp) .le. -15) then
tmin=-20
tmax=10
else if (max(plottemp) .ge. 15) then
tmin=-10
tmax=20
else
tmin=-15
tmax=15
end if
end if
else
if (min(plottemp) .le. -5) then
tmin=-10
tmax=20
else if (max(plottemp) .ge. 25) then
tmin=10
tmax=30
else
tmin=-5
tmax=25
end if
end if
end if
end if
end if
;******************************************************************************
;Bestimmung der festen Druckskala
;******************************************************************************
if (max(plotdruck) .ge. 1040) then
pmax = 1060
pmin = 1010
else if (min(plotdruck) .le. 990) then
pmax = 1020
pmin = 970
else
pmax = 1040
pmin = 990
end if
end if
;******************************************************************************
;Bestimmung der festen Strahlungsskala
;******************************************************************************
if (max(global) .ge. 1000) then
radmax = 1200
else
radmax = 1000
end if
;******************************************************************************
;Bestimmung der festen Sonnenstundenskala
;******************************************************************************
if (max(sonnenstunden) .ge. 10) then
sunmax = 12
else
sunmax = 10
end if
;******************************************************************************
;Tickmarks x-Achse.
;******************************************************************************
;Ermittlung der Position der Major Tickmarks der x-Achse
do i = 0, 7
postickx(i) = (60 - t_m2(N-1) )*60 + 60*60*i*3
end do
;Ermittlung der Position der Minor Tickmarks der x-Achse
do i = 0, 23
posminortickx(i) = (60 - t_m2(N-1) )*60 +60*60*i
end do
;Bestimmung der Beschriftung der Majortickmarks der x-Achse
do i = 0, 7
dummy(i) = (k/60+1)+i*3
if (dummy(i) .ge. 24) then
dummy(i) = dummy(i) - 24
end if
end do
ticklabelx=flt2string(dummy)
;******************************************************************************
;Tickmarks linke y-Achse, plot1
;******************************************************************************
;Ermittlung der Position der Major Tickmarks der linken y-Achse
do i = 0, 8
postickyL(i) = tmin + i*5
end do
ticklabelyL = flt2string(postickyL)
;Ermittlung der Position der Minor Tickmarks der linken y-Achse
do i = 0, 39
posminortickyL(i) = tmin + i*1
end do
;******************************************************************************
;Tickmarks linken y-Achse, plot3
;******************************************************************************
;Ermittlung der Position der Major Tickmarks der linken y-Achse
a = floor(max(plotwindmax))
b = floattointeger(a)
postickyLplot3 = new((/b+2/),float)
do i = 0, b+1
postickyLplot3(i) = i
end do
;Ermittlung der Position der Minor Tickmarks der linken y-Achse
posminortickyLplot3 = new((/(b +1)*2+1/), float)
do i = 0, (b +1)*2
posminortickyLplot3(i) = 0.5*i
end do
;******************************************************************************
;Tickmarks rechten y-Achse, plot1
;******************************************************************************
;Ermittlung der Position der Major Tickmarks der rechten y-Achse
do i = 0, 10
postickyR(i) = 50 + i*5
end do
ticklabelyR = flt2string(postickyR *2 - 100)
;Ermittlung der Position der Minor Tickmarks der rechten y-Achse
do i = 0, 9
posminortickyR(i) = 52.5 + i*5
end do
;******************************************************************************
;Tickmarks rechten y-Achse, plot3
;******************************************************************************
;Ermittlung der Position der Major Tickmarks der rechten y-Achse
a = floor(max(plotwindmax))
b = floattointeger(a)
postickyRplot3 = new((/b/),float)
do i = 0, b-1
postickyRplot3(i) = i+1
end do
;Ermittlung der Position der Minor Tickmarks der rechten y-Achse
posminortickyRplot3 = new((/(b +1)*2+1/), float)
do i = 0, (b +1)*2
posminortickyRplot3(i) = 0.5*i
end do
;******************************************************************************
;Öffnen einer workstation zum Erstellen von Gafiken
;******************************************************************************
;("Ausgabetyp wie pdf,eps,png","Name der Workstation")
wks_type = "png"
wks_type at wkWidth = 1300
wks_type at wkHeight = 859
wks = gsn_open_wks(wks_type,"meteogramm3")
;******************************************************************************
;Grafikeinstellungen
;******************************************************************************
;Types of resources:
; ti = Title(ti) Resources, tm = TickMark (tm) Resources
;Transformation, IrregularTransformation, LogLinTransformation (tr) Resources
;XyPlot (xy) Resources, ViewPoint (vp) Resources, AnnoManager (am) Resources
temptauhum_res = True
temptau_res = True
hum_res = True
rain1_res = True
rain24_res = True
windmittel_res = True
windmax_res = True
press_res = True
rad_res = True
sun_res = True
contour_res = True
grid_res = True
;*************************************l*****************************************
;Ressourcen für Temperatur, Taupunkt,relative Feuchte
;******************************************************************************
temptauhum_res at gsnDraw = False ;Verhindert das Zeichen plots ohne den draw-Befehl
temptauhum_res at gsnFrame = False ; Plot wird auf einer Seite dargestellt
temptauhum_res at gsnXRefLine = plotzeit(1440-(N-1)) ;Zeichnet vertikale Linie bei 0 Uhr
temptauhum_res at tmXBMode = "Explicit" ;Eigen Tickmarks definieren
temptauhum_res at tmXBValues = postickx ;Position der MainTickmarks
temptauhum_res at tmXBMinorValues = posminortickx ;Position der MinorTickmarks
temptauhum_res at tmXBLabels = ticklabelx ;Beschriftung der Tickmarks
temptauhum_res at tmXBLabelFontHeightF = 0.01 ;Schriftgröße der Beschriftung
temptauhum_res at tmXBMajorLengthF = 0.01 ; Majortickmark Länge x-Achse
temptauhum_res at tmXBMinorLengthF = 0.005 ; Minortickmark Länge x-Achse
temptauhum_res at tmYLMajorLengthF = 0.01 ; Majortickmark Länge y-Achse
temptauhum_res at tmYLMinorLengthF = 0.005 ; Majortickmark Länge y-Achse
temptauhum_res at tmYLMajorOutwardLengthF = 0.012 ; Majortickmark verschieben y-Achse
;temptauhum_res at tmXUseBottom = True ;obere x-Achse analoge Tickmarks wie Untere
;temptauhum_res at tmYUseLeft = True ;rechte Y-Achse analoge Tickmarks wie Linke
temptauhum_res at trXMinF = min(plotzeit) ;Begrenzung x-Achse min
temptauhum_res at trXMaxF = max(plotzeit) ;Begrenzung x-Achse max
temptauhum_res at tiMainFontHeightF = 0.010 ; Schriftgröße der Überschrift
temptauhum_res at tiYAxisFontHeightF = 0.010 ;Schriftgröße des Achsentitels
temptauhum_res at tiXAxisFontHeightF = 0.010 ;Schriftgröße
temptauhum_res at vpWidthF = 0.60 ;Breite der Abbildung
temptauhum_res at vpHeightF = 0.20 ;Höhe der Abbildung
;******************************************************************************
;Kopieren aller gemeinsamer Ressourcen
;******************************************************************************
temptau_res = temptauhum_res
hum_res = temptauhum_res
rain1_res = temptauhum_res
rain24_res = temptauhum_res
windmittel_res = temptauhum_res
windmax_res = temptauhum_res
press_res = temptauhum_res
rad_res = temptauhum_res
sun_res = temptauhum_res
;******************************************************************************
;Ressourcen für Temperatur und Taupunkt
;******************************************************************************
temptau_res at tmYMajorGrid = True ;Hauptgitter y-Achse
temptau_res at tmYMajorGridThicknessF = 2 ;Dicker der Hauptgitterlinien
temptau_res at tmYMajorGridLineColor = "gray70" ;Farbe der Hauptgitterlinien
temptau_res at tmYMinorGrid = True ;Nebengitter y-Achse
temptau_res at tmYMinorGridThicknessF = 0.5 ;Dicke der Nebengitterlinien
temptau_res at tmYMinorGridLineColor = "gray70" ;Farbe der Nebengitterlinien
temptau_res at tmYLMode = "Explicit" ;Eigen Tickmarks definieren
temptau_res at tmYLValues = postickyL ;Position der MainTickmarks
temptau_res at tmYLLabels = ticklabelyL ;Beschriftung der Tickmarks
temptau_res at tmYLMinorValues = posminortickyL ;Position der MinorTickmarks
temptau_res at tmXTMajorOutwardLengthF = 0.11 ; Tickmarks verschieben x-Achse
temptau_res at trYMinF = tmin ;Linke y-Achse nach unten begrenzen
temptau_res at trYMaxF = tmax ;Rechte y-Achse nach oben begrenzen
temptau_res at tiMainString = "IMuK Herrenhausen "+date1+" - "+date2 ;Überschrift der Abbildung
temptau_res at tiMainOffsetYF = 0.01 ;Verschiebung des Titels parallel zur y-Richtung
temptau_res at xyDashPattern = 0 ; Alle Kurven durchgezogen
temptau_res at xyLineColors = (/"red","blue"/) ;Kurvenfarbe
temptau_res at xyLineThicknessF = 2 ;Liniendicke
temptau_res at tmYLLabelFontHeightF = 0.001 ;TickMark Schriftgröße
;******************************************************************************
;Ressourcen für die relative Feuchte
;******************************************************************************
hum_res at tmYRMode = "Explicit" ;Eigen Tickmarks definieren
hum_res at tmYRValues = postickyR ;Position der MainTickmarks
hum_res at tmYRLabels = ticklabelyR ;Beschriftung der Tickmarks
hum_res at tmYRMinorValues = posminortickyR ;Position der MinorTickmarks
hum_res at tmYRLabelFontColor = "black" ;Farbe der Achsenbeschriftung
hum_res at tmYLLabelFontHeightF = 0.008 ;TickMark Schriftgröße
hum_res at trYMinF = 0 ;Interne Skala von 0 bis
hum_res at trYMaxF = 100 ;100
hum_res at tiYAxisString = "Relative Feuchte (%)";Beschriftung neben y-Achse
hum_res at tiYAxisOffsetYF = 0.070 ;Beschriftung verschieben
hum_res at tiYAxisFontColor = "black" ;Farbe des Achsentitels
hum_res at tiYAxisOffsetYF = 0.05
hum_res at xyLineColors = "black" ;Kurvenfarbe
hum_res at xyLineThicknessF = 2
;******************************************************************************
;Ressourcen für die 1min-Niederschlagsrate und 24h-Niederschlagssumme
;******************************************************************************
rain1_res at tmYLMode = "Explicit" ;Eigen Tickmarks definieren
rain1_res at tmYLValues = (/100,10,1/) ;Position der MajorTickmarks
rain1_res at tmYLLabels = (/"100","10","1"/) ;Beschriftung der MajorTickmarks
rain1_res at tmYLMinorValues = (/900,800,700,600,500,400,300,200,90,80,70,60,50,\ ;Position der MinorTickmarks
40,30,20,9,8,7,6,5,4,3,2,0.9,0.8,0.7,0.6,0.5,\
0.4,0.3,0.2/) ;Position der MinorTickmarks
rain1_res at tmXBLabelsOn = False ;Auschalten der Beschriftung x-Achse
rain1_res at tmXBMajorOutwardLengthF = 0.006 ; Tickmarks verschieben x-Achse
rain1_res at tmXBMinorOutwardLengthF = 0.003 ; Tickmarks verschieben x-Achse
rain1_res at tmXBOn = False ;Auschalten der unteren Tickmarks
rain1_res at xyYStyle = "Log" ;Logarithmische Skalierung wählen
rain1_res at trYMinF = 0.1 ;y-Achse nach unten begrenzen mit 0,1
rain1_res at trYMaxF = 1000 ;y-Achse nach oben begrenzen mit 1000
rain24_res = rain1_res
;******************************************************************************
;Ressourcen für die 1min-Niederschlagsrate
;******************************************************************************
rain1_res at tmYMajorGrid = True ;Hauptgitter y-Achse
rain1_res at tmYMajorGridThicknessF = 2 ;Dicker der Hauptgitterlinien
rain1_res at tmYMajorGridLineColor = "gray70" ;Farbe der Hauptgitterlinien
rain1_res at tmYMinorGrid = True ;Nebengitter y-Achse
rain1_res at tmYMinorGridThicknessF = 0.5 ;Dicke der Nebengitterlinien
rain1_res at tmYMinorGridLineColor = "gray70" ;Farbe der Nebengitterlinien
rain1_res at tiXAxisString = "" ;x-Achsenbeschriftung abschalten (sonst doppelt)
rain1_res at tiYAxisString = "Niederschlagsrate (mm/min)";Beschriftung neben y-Achse
rain1_res at tiYAxisFontColor = "green" ;Farbe des Achsentitels
rain1_res at gsnXYBarChart = True ;Turn on bar chart
rain1_res at gsnXYBarChartBarWidth = 20 ;60(deltax=60s) ist das Maximum in diesem Fall
rain1_res at xyLineColors = "green" ; Color for bars
;******************************************************************************
;Ressourcen für die 24h-Niederschlagssumme
;******************************************************************************
rain24_res at tmYRMode = "Explicit" ;Eigen Tickmarks definieren
rain24_res at tmYRValues = (/1000,100,10,1,0.1/) ;Position der MajorTickmarks
rain24_res at tmYRLabels = (/"1000","100","10","1","0.1"/) ;Beschriftung der MajorTickmarks
rain24_res at tmYRMinorValues = (/900,800,700,600,500,400,300,200,90,80,70,60,50,\ ;Position der MinorTickmarks
40,30,20,9,8,7,6,5,4,3,2,0.9,0.8,0.7,0.6,0.5,\
0.4,0.3,0.2/)
rain24_res at tiMainString = " " ;Title des Plots ausschalten
rain24_res at tiYAxisString = "24h - Niederschlagssumme (mm)";Beschriftung neben rechter y-Achse
rain24_res at tiYAxisSide = "Right" ;Rechte y-Achse beschriften
rain24_res at tiYAxisFontColor = "mediumblue" ;Farbe des Achsentitels
rain24_res at xyLineThicknessF = 2 ;Liniendicke
rain24_res at xyLineColors = "mediumblue" ;Linienfarbe
;******************************************************************************
;Ressourcen für den Mittelwind und den Windspitzen
;******************************************************************************
windmittel_res at trYMinF = 0 ;untere Begrenzung y-Achse
windmittel_res at trYMaxF = a+1 ;obere Begrenzung y-Achse
windmittel_res at xyLineThicknessF = 2 ;Kurvendicke
windmittel_res at tmXBLabelsOn = False ;Auschalten der Beschriftung x-Achse
windmittel_res at tmXBMajorOutwardLengthF = 0.006 ; Tickmarks verschieben x-Achse
windmittel_res at tmXBMinorOutwardLengthF = 0.003 ; Tickmarks verschieben x-Achse
windmax_res = windmittel_res
;******************************************************************************
;Ressourcen für den Mittelwindind
;******************************************************************************
windmittel_res at tmYLMode = "Explicit" ;Manueller TickMark Modus aktivieren
windmittel_res at tmYLValues = postickyLplot3 ;Position Majortickmarks
windmittel_res at tmYLLabels = flt2string(postickyLplot3) ;Beschriftung
windmittel_res at tmYLMinorValues = flt2string(posminortickyLplot3) ;Position MinorTickmarks
windmittel_res at tmYMajorGrid = True ;Hauptgitter y-Achse
windmittel_res at tmYMajorGridThicknessF = 2 ;Dicker der Hauptgitterlinien
windmittel_res at tmYMajorGridLineColor = "gray70" ;Farbe der Hauptgitterlinien
;windmittel_res at tmYMinorGrid = True ;Nebengitter y-Achse
;windmittel_res at tmYMinorGridThicknessF = 0.5 ;Dicke der Nebengitterlinien
;windmittel_res at tmYMinorGridLineColor = "gray70" ;Farbe der Nebengitterlinien
windmittel_res at tiYAxisString = "10-min-Windmittel (m s~S~-1~N~)" ;Beschriftung y-Achse
windmittel_res at tiYAxisFontColor = 233 ;Schriftfarbe
windmittel_res at tiYAxisOffsetXF = -0.015 ;Beschriftung verschieben in x-Richtung
windmittel_res at xyLineColors = 233 ;Kurvenfarbe
;******************************************************************************
;Ressourcen für Windspitzen
;******************************************************************************
windmax_res at tmYRMode = "Explicit" ;Manueller TickMark Modus aktivieren
windmax_res at tmYRValues = postickyRplot3 ;Position Majortickmarks
windmax_res at tmYRLabels = flt2string(postickyRplot3) ;Beschriftung
windmax_res at tmYRMinorValues = flt2string(posminortickyRplot3) ;Position MinorTickmarks
windmax_res at xyLineColors = 110 ;Kurvenfarbe
windmax_res at tiYAxisString = "10-min-Windspitzen (m s~S~-1~N~)" ;Beschriftung y-Achse
windmax_res at tiYAxisFontColor = 110 ;Schriftfarbe
windmax_res at tiYAxisOffsetXF = 0.017 ;Beschriftung verschieben in x-Richtung
;******************************************************************************
;Ressourcen für den Contour-Plot der Beaufort Skala
;******************************************************************************
contour_res at gsnDraw = False ;Verhindert das Zeichen plots ohne den draw-Befehl
contour_res at gsnFrame = False ; Plot wird auf einer Seite dargestellt
contour_res at trYMinF = 0 ;untere Begrenzung y-Achse
contour_res at trYMaxF = (a+1)*1000 ;obere Begrenzung y-Achse
contour_res at tmXBLabelsOn = False ;Auschalten der Beschriftung x-Achse
contour_res at tmYLLabelsOn = False ;Ausschalten der Beschriftung y-Achse
contour_res at tmYRBorderOn = False ;Ausschalten der rechten Achse
contour_res at tmYROn = False ;Ausschalten der rechten Tickmarks
contour_res at tmYLBorderOn = False ;Ausschalten der linken Achse
contour_res at tmYLOn = False ;Ausschalten der linken Tickmarks
contour_res at cnFillOn = True ;Contour Plot mit Farben füllen
contour_res at cnFillColors = (/"gray95","gray90","gray85","gray80","gray75",\
"gray70","gray65","gray60","gray55","gray50",\
"gray45","gray40"/);Farbauswahl
contour_res at cnLinesOn = True
contour_res at cnLineLabelsOn = True
contour_res at cnLineLabelFontColor = "white"
contour_res at cnLineLabelFontHeightF = 0.02 ;Schriftgröße
contour_res at cnLineLabelConstantSpacingF = 2
contour_res at cnInfoLabelOn = False ;Löscht die Infoleiste bzgl. des Datenbereichs
contour_res at lbLabelBarOn = False ;Auschalten der Legende
contour_res at cnLineLabelPlacementMode = "Constant"
contour_res at cnLineLabelBackgroundColor = -1 ; Löscht die farbige Box um die Labels
contour_res at cnLineLabelInterval = 1 ;Jede Abstufung beschriften
contour_res at cnLineDashSegLenF = 0.17
contour_res at vpWidthF = 0.60 ;Breite der Abbildung
contour_res at vpHeightF = 0.20 ;Höhe der Abbildung
;******************************************************************************
;Ressourcen für das überlagerte Gitter
;******************************************************************************
grid_res at gsnDraw = False ;Verhindert das Zeichen plots ohne den draw-Befehl
grid_res at gsnFrame = False ; Plot wird auf einer Seite dargestellt
grid_res at trYMinF = 0 ;untere Begrenzung y-Achse
grid_res at trYMaxF = (a+1)*1000 ;obere Begrenzung y-Achse
grid_res at tmXBLabelsOn = False ;Auschalten der Beschriftung x-Achse
grid_res at tmXBBorderOn = False ;Auschalten der unteren x-Achse
grid_res at tmXBOn = False ;Auschalten der unteren Tickmarks
grid_res at tmYLLabelsOn = False ;Ausschalten der Beschriftung y-Achse
grid_res at tmYRBorderOn = False ;Ausschalten der rechten Achse
grid_res at tmYROn = False ;Ausschalten der rechten Tickmarks
grid_res at tmYLBorderOn = False ;Ausschalten der linken Achse
grid_res at tmYLOn = False ;Ausschalten der linken Tickmarks
grid_res at cnLinesOn = False
grid_res at cnLineLabelsOn = False
grid_res at vpWidthF = 0.60 ;Breite der Abbildung
grid_res at vpHeightF = 0.20 ;Höhe der Abbildung
;******************************************************************************
;Ressourcen für Strahlung und Sonnenstunden
;******************************************************************************
sun_res at tiXAxisString = "UTC" ;Beschriftung unter der x-Achse
rad_res = sun_res
;******************************************************************************
;Ressourcen für die Strahlung
;******************************************************************************
rad_res at tmYMajorGrid = True ;Hauptgitter y-Achse
rad_res at tmYMajorGridThicknessF = 2 ;Dicker der Hauptgitterlinien
rad_res at tmYMajorGridLineColor = "gray70" ;Farbe der Hauptgitterlinien
rad_res at tmYMinorGrid = True ;Nebengitter y-Achse
rad_res at tmYMinorGridThicknessF = 0.5 ;Dicke der Nebengitterlinien
rad_res at tmYMinorGridLineColor = "gray70" ;Farbe der Nebengitterlinien
rad_res at tmYLMode = "Manual" ;Manueller TickMark Modus aktivieren
rad_res at tmYLTickStartF = 0 ;Position des ersten Majortickmarks
rad_res at tmYLTickEndF = 900 ;Position des letzten MajorTickmarks
rad_res at tmYLTickSpacingF = 100 ;Abstand zwischen den Majortickmarks
rad_res at tmYLMinorPerMajor = 1 ;Verhältnis Minortickmark zu Majort.
rad_res at trYMinF = 0 ;y-Achse nach unten begrenzen mit 0,1
rad_res at trYMaxF = 1000 ;y-Achse nach oben begrenzen mit 1000
rad_res at xyLineColors = (/"red","blue"/) ;Kurvenfarben
rad_res at xyLineThicknessF = 1 ;Kurvendicke
rad_res at xyDashPattern = 0 ; Alle Kurven durchgezogen
;******************************************************************************
;Ressourcen für die Sonnenstunden
;******************************************************************************
sun_res at tmYRMode = "Manual" ;Manueller TickMark Modus aktivieren
sun_res at tmYRTickStartF = 0 ;Position des ersten Majortickmarks
sun_res at tmYRTickEndF = 10 ;Position des letzten MajorTickmarks
sun_res at tmYRTickSpacingF = 1 ;Abstand zwischen den Majortickmarks
sun_res at tmYRMinorPerMajor = 1 ;Verhältnis Minortickmark zu Majort.
;sun_res at tmYLLabelFontHeightF = 0.001 ;TickMark Schriftgröße
sun_res at trYMinF = 0 ;y-Achse nach unten begrenzen mit 0,1
sun_res at trYMaxF = 10 ;y-Achse nach oben begrenzen mit 1000
sun_res at tiYAxisString = "Sonnenstunden (h)";Beschriftung neben y-Achsenbeschriftung
sun_res at tiYAxisFontColor = "orange" ;Farbe der y-Achsenbeschriftung
sun_res at xyLineThicknessF = 2 ;Kurvendicke
sun_res at xyLineColors = "orange" ;Kurvenfarben
;******************************************************************************
;Ressourcen für den Druck
;******************************************************************************
press_res at tmYLMode = "Manual" ;Manueller TickMark Modus aktivieren
press_res at tmYLTickStartF = pmin ;Position des ersten Majortickmarks
press_res at tmYLTickEndF = pmax ;Position des letzten MajorTickmarks
press_res at tmYLTickSpacingF = 10 ;Abstand zwischen den Majortickmarks
press_res at tmYRMinorPerMajor = 3 ;Verhältnis Minortickmark zu Majort.
press_res at trYMinF = pmin ;y-Achse nach unten begrenzen mit 0,1
press_res at trYMaxF = pmax ;y-Achse nach oben begrenzen mit 1000
press_res at tiYAxisString = "Luftdruck (hPa)";Beschriftung neben y-Achsenbeschriftung
press_res at xyLineThicknessF = 2 ;Kurvendicke
press_res at amOrthogonalPosF = 0.6 ; Position der y-Achse verschieben in x-Richtung
;******************************************************************************
;Erstellen der Plots
;******************************************************************************
plot1 = gsn_csm_xy2(wks,plotzeit,plotTempTd(0:1,:),plothum,temptau_res,hum_res)
plot2 = gsn_csm_xy2(wks,plotzeit,plotregen,plotsumme,rain1_res,rain24_res)
plot3 = gsn_csm_xy2(wks,zeitwind,plotwindmittel,plotwindmax,windmittel_res,windmax_res)
plot4 = gsn_csm_xy3(wks,plotzeit,plotstrahlung(0:1,:),sonnenstunden,plotdruck,rad_res,sun_res,press_res)
plot5 = gsn_csm_contour(wks,beaufort,contour_res)
plot6 = gsn_csm_contour(wks,beaufort,grid_res)
;******************************************************************************
;Textressourcen
;******************************************************************************
tx1res = True
tx2res = True
tx3res = True
tx4res = True
;plot 1
tx1res at txAngleF = 90 ;Drehung des Textes
tx1res at txFontHeightF = 0.01 ;Steuert die Schriftgröße
tx1res at txFontColor = "red" ;Farbwahl für Text
;tx1res at txPosXF = 0.092 ;Verschiebung in x-Richtung
tx2res = tx1res ;Ressourcenübergabe
tx2res at txFontColor = "blue" ;Farbwahl für Text
;plot4
tx3res at txAngleF = 90 ;Drehung des Textes
tx3res at txFontHeightF = 0.01 ;Steuert die Schriftgröße
tx3res at txFontColor = "red" ;Farbwahl für Text
;tx3res at txPosXF = 0.078 ;Verschiebung in x-Richtung
tx4res = tx3res ;Ressourcenübergabe
tx4res at txFontColor = "blue" ;Farbwahl für Text
;tx4res at txPosXF = 0.098 ;Verschiebung in x-Richtung
gsn_text_ndc(wks,"Temperatur (~F35~J~F21~C)",0.08,0.88,tx1res)
gsn_text_ndc(wks,"Taupunkt",0.08,0.78,tx2res)
gsn_text_ndc(wks,"Globalstrahlung (W m~S~-2~N~)",0.075,0.18,tx3res)
gsn_text_ndc(wks,"Diffuse Strahlung (W m~S~-2~N~)",0.05,0.18,tx4res)
;******************************************************************************
;Darstellen der Plots
;******************************************************************************
;Set up resource lists for attaching (anknüpfen/anhängen) the plot.
;The res1 will apply to the base plot, and the res2 to the plots being
;attached. These resources lists are *not* for changing things like line color,
;but for changing things like whether the plots are maximized, and which axis
;they are attached on.
resc1 = True
resc2 = True
res1 = True
res2 = True
res2 at gsnAttachPlotsXAxis = True
; xy1 will be the base plot.
contour1 = gsn_add_annotation(plot5,plot3,resc1)
contour2 = gsn_add_annotation(plot6,plot2,resc1)
plot = gsn_attach_plots(plot1,(/plot6,plot5,plot4/),res1,res2)
draw(plot1) ;All four plots will be drawn.
frame(wks)
end
More information about the ncl-talk
mailing list