<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic overlay two different plots in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99115#M290761</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How would you overlay these two plots ?&lt;/P&gt;&lt;P&gt;One is made with sgrender and the other with gmap&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote" modifiedtitle="true"&gt;
&lt;P&gt;proc template;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; define statgraph krigemap;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; begingraph;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; title "Ordinary kriging of &amp;amp;selectgerm";&lt;/P&gt;
&lt;P&gt;&amp;nbsp; layout overlay /&lt;/P&gt;
&lt;P&gt;&amp;nbsp; xaxisopts=(display=none)&lt;/P&gt;
&lt;P&gt;&amp;nbsp; yaxisopts=(display=none) ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; scatterplot x = x y = y /&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /*markerattrs=(symbol=squarefilled)*/&lt;/P&gt;
&lt;P&gt;&amp;nbsp; markercolorgradient = z&lt;/P&gt;
&lt;P&gt;&amp;nbsp; name = "heatmap" ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; continuouslegend "heatmap" /&lt;/P&gt;
&lt;P&gt;&amp;nbsp; orient = vertical&lt;/P&gt;
&lt;P&gt;&amp;nbsp; location = outside;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; endlayout;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; endgraph;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; run;&lt;/P&gt;
&lt;P&gt;proc sgrender data=epistat.tmp_surface template=krigemap;run;&lt;/P&gt;

&lt;/PRE&gt;&lt;P&gt;&lt;IMG __jive_id="2842" alt="2012-12-13 15-16-14.png" class="jiveImage" src="https://communities.sas.com/legacyfs/online/2842_2012-12-13 15-16-14.png" style="width: 450px; height: 338px;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote" modifiedtitle="true"&gt;
&lt;P&gt;PROC GMAP GOUT=MAPCHART DATA=WORK.MAPCHARTRESPONSEPREP MAP=WORK.MAPCHARTMAPPREP ALL;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; ID _ID_;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; CHORO Calculation /&lt;/P&gt;
&lt;P&gt;&amp;nbsp; WOUTLINE=1&lt;/P&gt;
&lt;P&gt;&amp;nbsp; NOLEGEND ;&lt;/P&gt;
&lt;P&gt;RUN;&lt;/P&gt;
&lt;P&gt;QUIT;&lt;/P&gt;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="2841" alt="BE_prov.png" class="jiveImage" src="https://communities.sas.com/legacyfs/online/2841_BE_prov.png" style="width: 450px; height: 367px;" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 13 Dec 2012 14:17:53 GMT</pubDate>
    <dc:creator>mathias</dc:creator>
    <dc:date>2012-12-13T14:17:53Z</dc:date>
    <item>
      <title>overlay two different plots</title>
      <link>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99115#M290761</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How would you overlay these two plots ?&lt;/P&gt;&lt;P&gt;One is made with sgrender and the other with gmap&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote" modifiedtitle="true"&gt;
&lt;P&gt;proc template;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; define statgraph krigemap;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; begingraph;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; title "Ordinary kriging of &amp;amp;selectgerm";&lt;/P&gt;
&lt;P&gt;&amp;nbsp; layout overlay /&lt;/P&gt;
&lt;P&gt;&amp;nbsp; xaxisopts=(display=none)&lt;/P&gt;
&lt;P&gt;&amp;nbsp; yaxisopts=(display=none) ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; scatterplot x = x y = y /&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /*markerattrs=(symbol=squarefilled)*/&lt;/P&gt;
&lt;P&gt;&amp;nbsp; markercolorgradient = z&lt;/P&gt;
&lt;P&gt;&amp;nbsp; name = "heatmap" ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; continuouslegend "heatmap" /&lt;/P&gt;
&lt;P&gt;&amp;nbsp; orient = vertical&lt;/P&gt;
&lt;P&gt;&amp;nbsp; location = outside;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; endlayout;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; endgraph;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; run;&lt;/P&gt;
&lt;P&gt;proc sgrender data=epistat.tmp_surface template=krigemap;run;&lt;/P&gt;

&lt;/PRE&gt;&lt;P&gt;&lt;IMG __jive_id="2842" alt="2012-12-13 15-16-14.png" class="jiveImage" src="https://communities.sas.com/legacyfs/online/2842_2012-12-13 15-16-14.png" style="width: 450px; height: 338px;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote" modifiedtitle="true"&gt;
&lt;P&gt;PROC GMAP GOUT=MAPCHART DATA=WORK.MAPCHARTRESPONSEPREP MAP=WORK.MAPCHARTMAPPREP ALL;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; ID _ID_;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; CHORO Calculation /&lt;/P&gt;
&lt;P&gt;&amp;nbsp; WOUTLINE=1&lt;/P&gt;
&lt;P&gt;&amp;nbsp; NOLEGEND ;&lt;/P&gt;
&lt;P&gt;RUN;&lt;/P&gt;
&lt;P&gt;QUIT;&lt;/P&gt;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="2841" alt="BE_prov.png" class="jiveImage" src="https://communities.sas.com/legacyfs/online/2841_BE_prov.png" style="width: 450px; height: 367px;" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Dec 2012 14:17:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99115#M290761</guid>
      <dc:creator>mathias</dc:creator>
      <dc:date>2012-12-13T14:17:53Z</dc:date>
    </item>
    <item>
      <title>Re: overlay two different plots</title>
      <link>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99116#M290762</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;Is is possible for you to create the heatmap with a gplot, instead of GTL?&lt;/P&gt;&lt;P&gt;Here is a quick reference:&lt;/P&gt;&lt;P&gt;&lt;A href="http://robslink.com/SAS/democd22/heatmap.sas" title="http://robslink.com/SAS/democd22/heatmap.sas"&gt;http://robslink.com/SAS/democd22/heatmap.sas&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You could then use PROC GREPLAY to combine the two plots;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anca.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Dec 2012 15:26:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99116#M290762</guid>
      <dc:creator>AncaTilea</dc:creator>
      <dc:date>2012-12-13T15:26:42Z</dc:date>
    </item>
    <item>
      <title>Re: overlay two different plots</title>
      <link>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99117#M290763</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If it's possible I was searching for making a map with GTL. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'll try this tomorrow, thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Dec 2012 15:55:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99117#M290763</guid>
      <dc:creator>mathias</dc:creator>
      <dc:date>2012-12-13T15:55:51Z</dc:date>
    </item>
    <item>
      <title>Re: overlay two different plots</title>
      <link>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99118#M290764</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mathias,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did you find the way to overlay these two plots ?&lt;/P&gt;&lt;P&gt;I will be interessted by your solution...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;JB&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Apr 2013 15:07:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99118#M290764</guid>
      <dc:creator>Eisa</dc:creator>
      <dc:date>2013-04-11T15:07:43Z</dc:date>
    </item>
    <item>
      <title>Re: overlay two different plots</title>
      <link>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99119#M290765</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I found a complicated workaround to obtain this with ods graphics only:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="The SGRender Procedure" class="jiveImage" src="https://stats.wiv-isp.be/SASStoredProcess/guest?_sessionid=A643DF6A-D9F1-47B7-ADD8-FDD936021A04&amp;amp;_program=replay&amp;amp;_entry=APSWORK.TCAT0B01.SGRender.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It's awfull because the borders are not continuous and the black background is not removable&lt;/P&gt;&lt;P&gt;(never found the way to do it at least. No one else is working on this spécific subject it seems)&lt;/P&gt;&lt;P&gt;I have come to the conclusion that this is the best I'll get with SAS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the idea behind it:&lt;/P&gt;&lt;P&gt;-merge the two data sets together wit no common variable -&amp;gt; creates a two-block dataset with a lot of empty cells&lt;/P&gt;&lt;P&gt;-proc template / proc sgrender, with a contourplotparm on the real map and a scatterplot on the boundaries&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can send you the code if you want.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Apr 2013 08:40:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99119#M290765</guid>
      <dc:creator>mathias</dc:creator>
      <dc:date>2013-04-25T08:40:32Z</dc:date>
    </item>
    <item>
      <title>Re: overlay two different plots</title>
      <link>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99120#M290766</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mathias,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am interested by your codes and by the resulting output. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;One solution should have been to use the SGRend and an annotate dataset (for the country border outline)...&lt;/P&gt;&lt;P&gt;But it seems than proc sgrender do not support annotate...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i will have the same problem in the next month maybe i will find an elegant solution to our problem ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I wondered if your are belgian and you are coming from the wallonian part, it could more relevant to speak in French ? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;jb&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;JB&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Apr 2013 11:52:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99120#M290766</guid>
      <dc:creator>Eisa</dc:creator>
      <dc:date>2013-04-25T11:52:02Z</dc:date>
    </item>
    <item>
      <title>Re: overlay two different plots</title>
      <link>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99121#M290767</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;No, don't speak French.&lt;/P&gt;&lt;P&gt;I want to follow this thread.&lt;/P&gt;&lt;P&gt;&lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Apr 2013 11:54:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99121#M290767</guid>
      <dc:creator>AncaTilea</dc:creator>
      <dc:date>2013-04-25T11:54:21Z</dc:date>
    </item>
    <item>
      <title>Re: overlay two different plots</title>
      <link>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99122#M290768</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, walloon region and french speaking. But i'll continue in english as asked.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry for the map, it didn't appear in my last post.&lt;/P&gt;&lt;P&gt;Here it is :&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="3473" alt="map.png" class="jive-image-thumbnail jive-image" src="https://communities.sas.com/legacyfs/online/3473_map.png" width="450" /&gt;&lt;/P&gt;&lt;P&gt;(&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;the borders are not continuous and the black background is not removable&lt;/SPAN&gt;)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Contact me by mail and I'll send you code mathias.leroy[at]wiv-isp[dot]be, i'am not sure I can open source my work like that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc template;&lt;/P&gt;&lt;P&gt;&amp;nbsp; define statgraph krigeplot_prov;&lt;/P&gt;&lt;P&gt;&amp;nbsp; begingraph;&lt;/P&gt;&lt;P&gt;&amp;nbsp; title;footnote;&lt;/P&gt;&lt;P&gt;&amp;nbsp; title &amp;amp;title;&lt;/P&gt;&lt;P&gt;&amp;nbsp; title2 &amp;amp;title2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; footnote &amp;amp;footnote;&lt;/P&gt;&lt;P&gt;&amp;nbsp; footnote2 &amp;amp;footnote2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; rangeattrmap (...) ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; rangeattrvar (...) ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; layout overlay (...) ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; contourplotparm&amp;nbsp; (...) ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; continuouslegend&amp;nbsp; (...) ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; scatterplot (...) ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; endlayout;&lt;/P&gt;&lt;P&gt;&amp;nbsp; endgraph;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROC SQL;&lt;/P&gt;&lt;P&gt;&amp;nbsp; CREATE TABLE _2E AS&lt;/P&gt;&lt;P&gt;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;&amp;nbsp; OUTER UNION CORR&lt;/P&gt;&lt;P&gt;&amp;nbsp; ....&lt;/P&gt;&lt;P&gt;&amp;nbsp; ;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sgrender data=_2E template=krigeplot_prov&lt;/P&gt;&lt;P&gt;&amp;nbsp; ;run;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Apr 2013 12:41:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99122#M290768</guid>
      <dc:creator>mathias</dc:creator>
      <dc:date>2013-04-25T12:41:53Z</dc:date>
    </item>
    <item>
      <title>Re: overlay two different plots</title>
      <link>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99123#M290769</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;And I'm of course interested if you find an better elegant solution.&lt;/P&gt;&lt;P&gt;I'am almost certain you'll not find it in ods graphics, maybe with the annotate function of proc gmap in SAS/GRAPHS like you said in the other discussion.&lt;/P&gt;&lt;P&gt;Or maybe with upcoming proc sgmap and proc template enhancements.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Apr 2013 12:57:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99123#M290769</guid>
      <dc:creator>mathias</dc:creator>
      <dc:date>2013-04-25T12:57:05Z</dc:date>
    </item>
    <item>
      <title>Re: overlay two different plots</title>
      <link>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99124#M290770</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Mathias,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here attached the code to plot a continuous variable over a map. This solution is non-optimal... but it is only solution that i found in the Robert Allison's book. The Allison web site is full of code sample... it is always good to look for a solution there : &lt;A href="http://robslink.com/SAS/Home.htm" title="http://robslink.com/SAS/Home.htm"&gt;Robert Allison's SAS/Graph Examples!&lt;/A&gt;&lt;/P&gt;&lt;P&gt;The result (code is below)&lt;/P&gt;&lt;P&gt;&lt;IMG alt="nt_2000_ht_9_c.png" class="jive-image-thumbnail jive-image" src="https://communities.sas.com/legacyfs/online/4825_nt_2000_ht_9_c.png" width="450" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*1- import data "without transfert" models ;&lt;/P&gt;&lt;P&gt;proc IMPORT OUT= WORK.a DATAFILE="&amp;amp;path_in.&amp;amp;root.&amp;amp;trait..txt"&amp;nbsp;&amp;nbsp;&amp;nbsp; DBMS=tab REPLACE;&lt;/P&gt;&lt;P&gt; guessingrows = 5000 ; RUN;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let year = 2100 ; &lt;/P&gt;&lt;P&gt;data rawa;&lt;/P&gt;&lt;P&gt;set a(where =(year =&amp;amp;year.)) ; &lt;/P&gt;&lt;P&gt;*"-1" is a USA convention, which is quite annoying ;&lt;/P&gt;&lt;P&gt;x=-1*(lon/(180/constant('pi'))); &lt;/P&gt;&lt;P&gt;y=lat/(180/constant('pi')); &lt;/P&gt;&lt;P&gt;anno_flag =1 ;&lt;/P&gt;&lt;P&gt;keep &amp;amp;trait. x y anno_flag ;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc means data = rawa ;&lt;/P&gt;&lt;P&gt;var &amp;amp;trait. ; &lt;/P&gt;&lt;P&gt;run ; quit ; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*2- import data from world maps ;&lt;/P&gt;&lt;P&gt;data mymap; &lt;/P&gt;&lt;P&gt;set maps.world;&lt;/P&gt;&lt;P&gt;label x='x';&lt;/P&gt;&lt;P&gt;label y='y';&lt;/P&gt;&lt;P&gt;x=long;&lt;/P&gt;&lt;P&gt;y=lat;&lt;/P&gt;&lt;P&gt;run ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*3- merge data before projection ;&lt;/P&gt;&lt;P&gt;*column in each data set &amp;amp;trait x y segment flag... some like that !!! ;&lt;/P&gt;&lt;P&gt;data combined ;&lt;/P&gt;&lt;P&gt;retain cont id segment x y &amp;amp;trait. ; &lt;/P&gt;&lt;P&gt;set mymap rawa&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;run ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*4- projected all the data in on shot ;&lt;/P&gt;&lt;P&gt;proc gproject data = combined out = combined latmin=30 latmax=65 longmin=-60 longmax=10 project=albers ; &lt;/P&gt;&lt;P&gt;*By default it is in radians as my dataset BUT using lambert projection, it should be degrees ;&lt;/P&gt;&lt;P&gt;id id;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data mymap rawa ; &lt;/P&gt;&lt;P&gt;set combined&amp;nbsp; ; &lt;/P&gt;&lt;P&gt;if anno_flag then output rawa ; &lt;/P&gt;&lt;P&gt;else output mymap ; &lt;/P&gt;&lt;P&gt;run ; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Re-construct a "segment" variable to be unique ;&lt;/P&gt;&lt;P&gt;data mymap ; &lt;/P&gt;&lt;P&gt;set mymap ;&lt;/P&gt;&lt;P&gt;segment = (id*10000 + segment) ;&lt;/P&gt;&lt;P&gt;keep x y segment anno_flag;&lt;/P&gt;&lt;P&gt;*if _n_ &amp;gt; 200 then delete ;&lt;/P&gt;&lt;P&gt;run ; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Rename each segment variable to continous from 1 to the end ;&lt;/P&gt;&lt;P&gt;proc iml ; &lt;/P&gt;&lt;P&gt;use mymap ; &lt;/P&gt;&lt;P&gt;read all var _all_ into b ; &lt;/P&gt;&lt;P&gt;row_b = nrow(b) ; &lt;/P&gt;&lt;P&gt;new = j(row_b,1,-999) ;&lt;/P&gt;&lt;P&gt;meno = b[1,3] ;&lt;/P&gt;&lt;P&gt;com = 1 ;&lt;/P&gt;&lt;P&gt;do i = 1 to row_b ; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if b[i,3] = meno then do ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; new[i,1] = com ; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else do ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; com = com + 1 ; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; new[i,1] = com ;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; meno = b[i,3] ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end ; &lt;/P&gt;&lt;P&gt;end ; &lt;/P&gt;&lt;P&gt;colname = {"x" "y" "segment" "flag"} ; &lt;/P&gt;&lt;P&gt;tot = b[,1:2]||new||b[,4] ; &lt;/P&gt;&lt;P&gt;create tot2 from tot[colname = colname] ; &lt;/P&gt;&lt;P&gt;append from tot ; &lt;/P&gt;&lt;P&gt;quit ; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data annoa ; &lt;/P&gt;&lt;P&gt;set rawa(keep = x y &amp;amp;trait. anno_flag&amp;nbsp; )&amp;nbsp; ; &lt;/P&gt;&lt;P&gt;length function style color $8 text $30;&lt;/P&gt;&lt;P&gt;xsys='2'; ysys='2'; hsys='3'; when='b';&lt;/P&gt;&lt;P&gt;function='pie'; style='psolid'; position='5'; rotate=360; size=.3;&lt;/P&gt;&lt;P&gt;if&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;trait.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt; 0 then do ; &lt;/P&gt;&lt;P&gt;color="CX00FFFF";&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* negative growth */&lt;/P&gt;&lt;P&gt;size = .1 ; &lt;/P&gt;&lt;P&gt;end ; &lt;/P&gt;&lt;P&gt;else if &amp;amp;trait.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;= 10 then color="CX2706EA";&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;else if &amp;amp;trait.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;= 20 then color="CX5D0AAF";&amp;nbsp; &lt;/P&gt;&lt;P&gt;else if &amp;amp;trait.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;= 30 then color="cx930E75";&lt;/P&gt;&lt;P&gt;else if &amp;amp;trait.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;= 40 then color="cxC9123A";&lt;/P&gt;&lt;P&gt;else if &amp;amp;trait.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt; 40&amp;nbsp;&amp;nbsp;&amp;nbsp; then color="cxFF1600";&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*annotate a legende ; &lt;/P&gt;&lt;P&gt;data legend_text;&lt;/P&gt;&lt;P&gt;input mytext $ 1-12 color $ 14-21 x y;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;&amp;lt; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CX00FFFF 88 10&lt;/P&gt;&lt;P&gt;0-10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CX2706EA 88 15&lt;/P&gt;&lt;P&gt;10-20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CX5D0AAF 88 20&lt;/P&gt;&lt;P&gt;20-30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cx930E75 88 25&lt;/P&gt;&lt;P&gt;30-40&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cxC9123A 88 30&lt;/P&gt;&lt;P&gt;&amp;gt; 40&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cxFF1600 88 35&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data= legend_text ; &lt;/P&gt;&lt;P&gt;by x descending y ; run ; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data legend_text; set legend_text;&lt;/P&gt;&lt;P&gt;length function color $8 style $25 text $20;&lt;/P&gt;&lt;P&gt;xsys='3'; ysys='3'; hsys='3'; when='a';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; position='B';&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; function='label'; size=4; text='U';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; style='marker';&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; color="black"; style='markere';&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; function='label'; color="black"; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; text=mytext;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; x=x+7; y=y+.5; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; style=''; size=2.75; output;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data legend_title;&lt;/P&gt;&lt;P&gt;length function color $8 style $25 text $20;&lt;/P&gt;&lt;P&gt;xsys='3'; ysys='3'; hsys='3'; when='a';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; function='label'; size=4; text='U';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; position='B';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; style=''; size=3.5; x=88+7-2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; text='growth rate ';&amp;nbsp; y=64.5; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; text='[cm/year]'; y=60.5; output;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* This white legend-box covers some of the colored elevation data (behind the legend) */&lt;/P&gt;&lt;P&gt;data legend_box; &lt;/P&gt;&lt;P&gt;length function style color $8;&lt;/P&gt;&lt;P&gt;xsys='3'; ysys='3'; hsys='3'; when='b';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; color='white';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; style='msolid';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; function='poly'; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; x=85; y=0; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; function='polycont'; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; x=100; y=0; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; x=100; y=88; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; x=85; y=88; output;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data anno_legend ;&lt;/P&gt;&lt;P&gt;set legend_box legend_text legend_title ; &lt;/P&gt;&lt;P&gt;run ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let name=nt_&amp;amp;year._&amp;amp;trait. ; &lt;/P&gt;&lt;P&gt;goptions reset=all ;&lt;/P&gt;&lt;P&gt;goptions device=png&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;goptions&amp;nbsp; /*xpixels=800 ypixels=515*/&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;goptions noborder;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ODS LISTING CLOSE;&lt;/P&gt;&lt;P&gt;ODS HTML path=odsout body="&amp;amp;name..htm" style=htmlblue image_dpi = 300 ;&lt;/P&gt;&lt;P&gt;goptions gunit=pct ftitle="albany amt/bold" htitle=5.5 ftext="albany amt" htext=3.5;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;title1 move=(-8,+0) ls=1.3 'Map of growth rate in Q. petraea';&lt;/P&gt;&lt;P&gt;title2 a=-90 h=24 ' ';&lt;/P&gt;&lt;P&gt;pattern v=empty c=black;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc gmap data=tot2 map=tot2 anno=annoa;&lt;/P&gt;&lt;P&gt;id segment;&lt;/P&gt;&lt;P&gt;choro segment / levels=1 nolegend&lt;/P&gt;&lt;P&gt; anno=anno_legend /*html=htmlvar*/&lt;/P&gt;&lt;P&gt; des='' name="&amp;amp;name";&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;ODS HTML CLOSE;&lt;/P&gt;&lt;P&gt;ODS LISTING;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Jan 2014 17:29:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/overlay-two-different-plots/m-p/99124#M290770</guid>
      <dc:creator>Eisa</dc:creator>
      <dc:date>2014-01-29T17:29:23Z</dc:date>
    </item>
  </channel>
</rss>

