Hi,
I am using GAUSS 16. I draw a xy graph. where y is the value of some estimates changing over x. Now, I would like to add the confidence bands around the line as a shaded area n. I couldn't figure out how to do this in GAUSS. Basicall, xy(x,lowerbound~estimate~upperbound); would plot almost what I would like to have it without the shading.
thanks!
1 Answer
1
accepted
The version of GAUSS to be released in November of 2019 has a new function called plotXYFill
exactly for this purpose.
In older versions, you can draw a stacked area plot with the bottom panel white to accomplish this. Here is a simple example:
// Simulate some numbers to plot x = seqa(1, 1, 10); y = sin(x ./ 10); // Create vectors which will draw // stacked area plot around 'y' line err = 0.3; y_low = y - 0.3; y_high = reshape(0.6, 10, 1); // Declare 'myPlot' to be a plotControl struct // and fill with default settings struct plotControl myPlot; myPlot = plotGetDefaults("area"); plotSetGrid(&myPlot, "off"); // Make bottom stacked area white so we don't see it plotSetFill(&myPlot, 1, 1, "white" $| "light gray"); // Draw stacked area plot for confidence bands plotArea(myPlot, x, y_low ~ y_high); // Add center line plotAddXY(x, y);
which will produce a graph similar to this:
Your Answer
1 Answer
The version of GAUSS to be released in November of 2019 has a new function called plotXYFill
exactly for this purpose.
In older versions, you can draw a stacked area plot with the bottom panel white to accomplish this. Here is a simple example:
// Simulate some numbers to plot x = seqa(1, 1, 10); y = sin(x ./ 10); // Create vectors which will draw // stacked area plot around 'y' line err = 0.3; y_low = y - 0.3; y_high = reshape(0.6, 10, 1); // Declare 'myPlot' to be a plotControl struct // and fill with default settings struct plotControl myPlot; myPlot = plotGetDefaults("area"); plotSetGrid(&myPlot, "off"); // Make bottom stacked area white so we don't see it plotSetFill(&myPlot, 1, 1, "white" $| "light gray"); // Draw stacked area plot for confidence bands plotArea(myPlot, x, y_low ~ y_high); // Add center line plotAddXY(x, y);
which will produce a graph similar to this: