I am making comparative histogram plots in proc univariate with a normal curve. When the plots are produced, they have a legend for the normal curve that says Curve --------- Normal (example image provided). I do not want this legend to appear, but for some reason I cannot find the code that I need to suppress this.
You have to edit the Histogram template for the Univariate procedure.
Set
ods trace on;
odsselect Histogram;
Now, run the Univariate step. You will see the names of the template used for histogram along with the path to the template. It will be something like "base.univariate.Graphics.Histogram" depending on the SAS release. Open this template using the ODStemplate command. Copy the template to a program editor.
Make sure SASHELP.TMPLMST is Read only and not first in the ODS Path.
In the editor, find the instances where the code "DiscreteLegend" is used. Comment out this code, and then submit the template program. The template will now be compiled and saved to your SASUSER.TEMPLAT itemstore.
Rerun your Univariate step, and the legend should be gone. The procedure will use the template from your sasuser first. When you want to go back to the original, remove this template from sasuser.templat.
You have to edit the Histogram template for the Univariate procedure.
Set
ods trace on;
odsselect Histogram;
Now, run the Univariate step. You will see the names of the template used for histogram along with the path to the template. It will be something like "base.univariate.Graphics.Histogram" depending on the SAS release. Open this template using the ODStemplate command. Copy the template to a program editor.
Make sure SASHELP.TMPLMST is Read only and not first in the ODS Path.
In the editor, find the instances where the code "DiscreteLegend" is used. Comment out this code, and then submit the template program. The template will now be compiled and saved to your SASUSER.TEMPLAT itemstore.
Rerun your Univariate step, and the legend should be gone. The procedure will use the template from your sasuser first. When you want to go back to the original, remove this template from sasuser.templat.
The legend has now been successfully removed by customizing the template. Thank you for your help with this Sanjay!!
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.