<p style="font-size: 12pt; font-family: Arial;">Dear NCL folks,</p><p style="font-size: 12pt; font-family: Arial;"><br></p><p style="font-size: 12pt; font-family: Arial;">I'm trying to draw a XY plot by attaching four subplots together and giving each of them its own vertical axis. This last point is particularly tricky. Taking inspiration from this example (https://www.ncl.ucar.edu/Applications/Scripts/xy_22.ncl), I'm trying now to draw individual vertical axis using gsn_blank_plot, but I can't make all the plots to arrange nicely (see <span style="font-family: arial, sans-serif; font-size: 12pt;">HadCM3_plot_temp_ohue.000003.png</span><span style="font-size: 12pt; font-family: Arial;">) even when I </span>explicitly<span style="font-size: 12pt; font-family: Arial;"> set the NDC coordinates of the main plot (see code snippet below). </span></p><p style="font-size: 12pt; font-family: Arial;"><span style="font-size: 12pt; font-family: Arial;"><br></span></p><p style="font-size: 12pt; font-family: Arial;"><span style="font-size: 12pt; font-family: Arial;">What I'd like to have is something like </span><span style="font-family: arial, sans-serif; font-size: 12pt;">HadCM3_plot_temp_ohue.000004.png, but with individual axes for each subplot. </span><span style="font-family: arial, sans-serif; font-size: 12pt;">Can it be done? Is there an easier way to get a nice result?</span></p><p style="font-size: 12pt; font-family: Arial;"><span style="font-family: arial, sans-serif; font-size: 12pt;"><br></span></p><p style="font-size: 12pt; font-family: Arial;"><span style="font-family: arial, sans-serif; font-size: 12pt;">Cheers,</span></p><p style="font-size: 12pt; font-family: Arial;"><span style="font-family: arial, sans-serif; font-size: 12pt;">Giorgio</span></p><p style="font-size: 12pt; font-family: Arial;"><span style="font-family: arial, sans-serif; font-size: 12pt;"><br></span></p><p><span style="font-family:Arial; font-size: 12pt;">deltapl = fspan(0.2,0.8,5)</span></p><p><span style="font-family:Arial; font-size: 12pt;">; resa@gsnMaximize       = True                     </span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@gsnDraw           = False   ; Don't draw plot</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@gsnFrame          = False   ; Don't advance frame</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@gsnYRefLine       = 0.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tiMainString      = ""</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tiMainFontHeightF = 0.015</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tiXAxisString     = ""</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tiYAxisString     = ""</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tiYAxisFontHeightF = 0.0125</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tmXBMode          = "Explicit"</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tmXBLabelAngleF   = 45.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tmXBLabelFontHeightF = 0.0125</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tmXBLabelJust     = "TopRight"</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tmXBLabels        := (/"Pos","Neg"/)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tmXBValues        := (/0.8,1.2/)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tmXUseBottom      = False</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tmXTLabelsOn      = True</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tmXTMode          = "Explicit"</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tmXTLabelAngleF   = 45.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tmXTLabelFontHeightF = 0.0125</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tmXTLabelJust     = "BottomLeft"</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tmXTLabels        = labels1(0)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tmXTValues        = 1.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tmYLLabelFontHeightF = 0.0125</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@trXMinF           = 0.5</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@trXMaxF           = 1.5</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@trYMinF           = 0.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@trYMaxF           = 0.5</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@vpHeightF         = 0.8</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@vpWidthF          = 0.15</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@vpXF              = 0.2</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@vpYF              = 0.8</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@xyMarkLineMode    = "Markers"                ; choose to use markers</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@xyMarkers         := markrs</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@xyMarkerColors    := (/"Black","Red","Pink","Grey"/)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@xyMarkerSizeF     = 0.015                    ; Marker size (default 0.01)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@xyMarkerThicknessF = 3.</span></p><p><span style="font-family:Arial; font-size: 12pt;">; resb@gsnMaximize       = True                     </span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@gsnDraw           = False   ; Don't draw plot</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@gsnFrame          = False   ; Don't advance frame</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@tiMainFontHeightF = 0.015</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@trXMinF           = 0.5</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@trXMaxF           = 1.5</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@trYMinF           = 0.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@trYMaxF           = 0.5</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@xyMarkLineMode    = "Markers"                ; choose to use markers</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@xyMarkers         := markrs</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@xyMarkerColors    := (/"Purple","Blue","Cyan","Green"/)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@xyMarkerSizeF     = 0.015                    ; Marker size (default 0.01)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@xyMarkerThicknessF = 3.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@vpHeightF         = 0.8</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@vpWidthF          = 0.15</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@vpXF              = 0.2</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@vpYF              = 0.8</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@gsnDraw      = False</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@gsnFrame     = False</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@tmXBOn       = False      ; Turn off X axis since it has already</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@tmXBBorderOn = False      ; been drawn.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@tmXBLabelsOn = False</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@tmXTOn       = False</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@tmXTBorderOn = False</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@tmXTLabelsOn = False</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@tmYLOn       = True       ; Turn on left Y axis.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@tmYLBorderOn = True</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@tmYLLabelsOn = True</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@tmYLLabelFontHeightF = 0.0125</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@tmYROn       = False</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@tmYRBorderOn = False</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@tmYRLabelsOn = False</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@vpHeightF    = 0.75</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@vpYF         = 0.85</span></p><p style="font-size: 12pt; font-family: Arial;"><span style="font-family:Arial; font-size: 12pt;"><br></span></p><p><span style="font-family:Arial; font-size: 12pt;"> </span></p><p><span style="font-family:Arial; font-size: 12pt;"> plot1a = gsn_csm_xy(wks,transpose((/(/0.8,0.8,0.8,0.8/),(/0.8,0.8,0.8,0.8/)/)),transpose((/abs(tas_globalave_positiveforcing(0:6:2)),abs(tas_globalave_positiveforcing(0:6:2))/)),resa)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> plot1b = gsn_csm_xy(wks,transpose((/(/1.2,1.2,1.2,1.2/),(/1.2,1.2,1.2,1.2/)/)),transpose((/abs(tas_globalave_negativeforcing(0:6:2)),abs(tas_globalave_negativeforcing(0:6:2))/)),resb)</span></p><p><span style="font-family:Arial; font-size: 12pt;">; resa@tiMainString      = "HadCM3 -"</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tmXTLabels        = labels1(1)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@trYMinF           = 0.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@trYMaxF           = 1.5</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@trYMinF           = 0.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@trYMaxF           = 1.5</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@trYMinF           = 0.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@trYMaxF           = 1.5</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@vpXF              = deltapl(1)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> plot2a = gsn_csm_xy(wks,transpose((/(/0.8,0.8,0.8,0.8/),(/0.8,0.8,0.8,0.8/)/)),transpose((/abs(sst_globalave_positiveforcing(0:6:2)),abs(sst_globalave_positiveforcing(0:6:2))/)),resa)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> plot2b = gsn_csm_xy(wks,transpose((/(/1.2,1.2,1.2,1.2/),(/1.2,1.2,1.2,1.2/)/)),transpose((/abs(sst_globalave_negativeforcing(0:6:2)),abs(sst_globalave_negativeforcing(0:6:2))/)),resb)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> plot2z = gsn_blank_plot(wks,resz)</span></p><p><span style="font-family:Arial; font-size: 12pt;">; resa@tiMainString      = "Seasonal Cycle"</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tmXTLabels        = labels1(2)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@trYMinF           = 0.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@trYMaxF           = 1.5</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@trYMinF           = 0.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@trYMaxF           = 1.5</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@trYMinF           = 0.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@trYMaxF           = 1.5</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@vpXF              = deltapl(2)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> plot3a = gsn_csm_xy(wks,transpose((/(/0.8,0.8,0.8,0.8/),(/0.8,0.8,0.8,0.8/)/)),transpose((/abs(trac_globalave_positiveforcing(0:6:2)),abs(trac_globalave_positiveforcing(0:6:2))/)),resa)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> plot3b = gsn_csm_xy(wks,transpose((/(/1.2,1.2,1.2,1.2/),(/1.2,1.2,1.2,1.2/)/)),transpose((/abs(trac_globalave_negativeforcing(0:6:2)),abs(trac_globalave_negativeforcing(0:6:2))/)),resb)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> plot3z = gsn_blank_plot(wks,resz)</span></p><p><span style="font-family:Arial; font-size: 12pt;">; resa@tiMainString      = ""</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@tmXTLabels        = labels1(3)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@trYMinF           = 0.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resa@trYMaxF           = 35.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@trYMinF           = 0.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resb@trYMaxF           = 35.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@trYMinF           = 0.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@trYMaxF           = 35.</span></p><p><span style="font-family:Arial; font-size: 12pt;"> resz@vpXF              = deltapl(3)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> plot4a = gsn_csm_xy(wks,transpose((/(/0.8,0.8,0.8,0.8/),(/0.8,0.8,0.8,0.8/)/)),transpose((/abs(tas_ohue_positiveforcing(0:6:2)),abs(tas_ohue_positiveforcing(0:6:2))/)),resa)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> plot4b = gsn_csm_xy(wks,transpose((/(/1.2,1.2,1.2,1.2/),(/1.2,1.2,1.2,1.2/)/)),transpose((/abs(tas_ohue_negativeforcing(0:6:2)),abs(tas_ohue_negativeforcing(0:6:2))/)),resb)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> plot4z = gsn_blank_plot(wks,resz)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> overlay(plot1a,plot1b)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> overlay(plot2a,plot2b)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> overlay(plot3a,plot3b)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> overlay(plot4a,plot4b)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> drawNDCGrid(wks)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> attplot = gsn_attach_plots(plot1a,(/plot2a,plot3a,plot4a/),at_res,False)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> draw(plot1a)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> draw(plot2z)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> draw(plot3z)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> draw(plot4z)</span></p><p><span style="font-family:Arial; font-size: 12pt;">do i = 0, dimsizes(ypos1)-1</span></p><p><span style="font-family:Arial; font-size: 12pt;"> lb_res@lbFillColors     = colors(i)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> lb_res@lbLabelFontColor = colors(i)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> gsn_labelbar_ndc(wks,1,labels2(i),0.85,ypos1(i),lb_res)</span></p><p><span style="font-family:Arial; font-size: 12pt;">end do</span></p><p><span style="font-family:Arial; font-size: 12pt;">do i = 0, dimsizes(ypos2)-1</span></p><p><span style="font-family:Arial; font-size: 12pt;"> mk_res@gsMarkerIndex    = markrs(i)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> gsn_polymarker_ndc(wks,0.875,ypos2(i),mk_res)</span></p><p><span style="font-family:Arial; font-size: 12pt;"> gsn_text_ndc(wks,labels3(i),0.9,ypos2(i),tx_res)</span></p><p><span style="font-family:Arial; font-size: 12pt;">end do</span></p><p><span style="font-family:Arial; font-size: 12pt;"> frame(wks)</span></p>