Dear Mary,
Thanks a lot for your help. Actually Adam helped me on this. I have pass the workstation from outside the function and don't draw and frame the workstation inside the function. So, the function is only for configuring the figure and the generation are outside.
Thanks a lot
Best Regards
Mohamed M. Abdel Kader
Atmosphere and Climate Modelling Group
Research Assistant/PhD student
Environmental & Atmospheric Sciences
The Cyprus Institute Graduate Studies
20 Constantinou Kavafi Street
P.O. Box: 27456
Nicosia 2121, Cyprus
Tel. +357 222 08679
Fax. +357 222 08625
Mobile: +357 992 62108
e-mails: m.abdelkader@cyi.ac.cy
mmkader@gmail.com
Skype: mmkader
_____
From: Mary Haley [mailto:haley@ucar.edu]
To: Mohamed Abdel Kader [mailto:m.abdelkader@cyi.ac.cy]
Cc: ncl-talk@ucar.edu
Sent: Mon, 16 Sep 2013 04:12:36 +0200
Subject: Re: Problem retuning graphic object from user defined function
Dear Mohamed,
I'm not sure what this code is all about:
plot=plot1
return (plot)
end
But you might want to try returning "plot1" instead of "plot". There's no need for you to assign "plot1" to "plot" and then return "plot".
--Mary
On Sep 9, 2013, at 12:05 PM, Mohamed Abdel Kader <m.abdelkader@cyi.ac.cy> wrote:
Dear All,
I would like to make a figure of different scatter plots super-imposed a global map. I have a user defined function that generates the scatter plots and I return the scatter plot graphic object. The returned graphic object has missing value.
I have to do in that way since the scatter plot is highly customized and it's being called many times from different scripts. So, I would like to keep one scatter plot script. Could you please help me on solving this problem.
I attached parts from the script.
P.S.: The scatter function works fine as standalone
Thanks a lot and let me know if you need more information.
========================================================================================================================
Scatter plot function:
function Plot_Scatter_function(x_title:string,y_title:string,data_x:numeric,data_y:numeric,f_name:string,data_set_string:string, ps_op:logical, plot:graphic)
local plot1, plot2
begin
.
.
.
. "many commands"
.
.
wks = gsn_open_wks("eps", f_name )
plot1 = gsn_csm_xy (wks,ndtooned(data_x),ndtooned(data_y),res)
plot2 = gsn_csm_xy (wks,(/res@trXMinF,res@trXMaxF/),(/res@trYMinF,res@trYMaxF/),res2)
overlay(plot1,plot2)
draw(plot1)
frame(wks)
print(plot1)
plot=plot1
return (plot)
end
the print out from scatter function
Variable: plot
Type: obj
Total Size: 4 bytes
1 values
Number of Dimensions: 1
Dimensions and sizes: [1]
Coordinates:
Number Of Attributes: 2
dataspec : /EMAC_map_scatter_____tmp_data xyDataSpecClass 89
data : /EMAC_map_scatter_____tmp_data coordArraysClass 67
(0) /EMAC_map_scatter_____tmp_xy xyPlotClass 88
========================================================================================================================
Parent script:
.
.
.
.
dum_poly = new(NREG,graphic)
do n=0,NREG-1
dum_poly(n)= Plot_Scatter_function(x_title,y_title,data_xx,data_yy,f_name+"_____tmp",data_set_string, ps_op,dum_poly(n))
ann = gsn_add_annotation (map,dum_poly(n),amres)
end do
.
.
.
.
.
.
end
the message error
warning:NhlAddAnnotation: bad HLU id passed in, ignoring it
fatal:_NclAddHLURef: internal error: ncl object 647412112 does not exist for vname anno_id
fatal:_NclAddHLURef: internal error: ncl object 647412112 does not exist for vname ann
The print out of dum_poly(n): from the Parent script.
Variable: dum_poly
Type: obj
Total Size: 4 bytes
1 values
Number of Dimensions: 1
Dimensions and sizes: [1]
Coordinates:
Number Of Attributes: 3
data : -1
dataspec : -1
_FillValue : -1
(0) -1
========================================================================================================================
Best Regards
Mohamed M. Abdel Kader
Atmosphere and Climate Modelling Group
Research Assistant/PhD student
Environmental & Atmospheric Sciences
Max-Planck Institute for Atmospheric chemistry, Germany
The Cyprus Institute, Cyprus
20 Constantinou Kavafi Street
P.O. Box: 27456
Nicosia 2121, Cyprus
Tel. +357 222 08679
Fax. +357 222 08625
Mobile: +357 992 62108
e-mails: m.abdelkader@cyi.ac.cy
mmkader@gmail.com
Skype: mmkader
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Sun Sep 15 23:35:13 2013
This archive was generated by hypermail 2.1.8 : Mon Sep 16 2013 - 13:43:52 MDT