I am not able to export graphs

Hi there,

I am trying yo export a graph in pdf format, but I got the following Gauss message: "no active graph to export". My code lines are following:

dograph(parameters,"Model 1",root$+"1.pdf");

proc (0) = dograph(dat,figtitle,figname);

    local x,y;

    title(model 1);
    figtitle;;
    dat;?;
    x = dat[.,1];
    y = dat[.,2:cols(dat)];
    plotSave(figname,11|8.5, "in", 300);
    xy(x,y);
    retp; 
endp;

Any suggestion about what is wrong?

Thank you in advance

1 Answer



0



The problem here is that xy (and title) are part of the deprecated PQG graphics and plotSave does not work with them. The solution is to use plotXY and plotSetTitle. Here is a modified version of your example:

dograph(parameters,"Model 1",root$+"1.pdf");
proc (0) = dograph(dat,figtitle,figname);

    local x,y;
    struct plotControl myPlot;

    // Fill plotcontrol structure with
    // default settings for 'xy' plots
    myPlot = plotGetDefaults("xy");

    // Set plot title and make it large enough for output size
    plotSetTitle(&myplot, figtitle, "arial", 80);

    // Increase size of tick labels so they can be seen on output
    plotSetTicLabelFont(&myPlot, "arial", 40);

    // Thicker line to be seen on larger output
    plotSetLineThickness(&myPlot, 4);

    figtitle;;
    dat;?;

    x = dat[.,1];
    y = dat[.,2:cols(dat)];

    // Draw plot using settings in 'myPlot'
    plotXY(myPlot, x,y);

    // Call 'plotSave' AFTER XY plot is drawn
    plotSave(figname,11|8.5, "in", 300);
    retp; 
endp;

aptech

1,773

Your Answer

1 Answer

0

The problem here is that xy (and title) are part of the deprecated PQG graphics and plotSave does not work with them. The solution is to use plotXY and plotSetTitle. Here is a modified version of your example:

dograph(parameters,"Model 1",root$+"1.pdf");
proc (0) = dograph(dat,figtitle,figname);

    local x,y;
    struct plotControl myPlot;

    // Fill plotcontrol structure with
    // default settings for 'xy' plots
    myPlot = plotGetDefaults("xy");

    // Set plot title and make it large enough for output size
    plotSetTitle(&myplot, figtitle, "arial", 80);

    // Increase size of tick labels so they can be seen on output
    plotSetTicLabelFont(&myPlot, "arial", 40);

    // Thicker line to be seen on larger output
    plotSetLineThickness(&myPlot, 4);

    figtitle;;
    dat;?;

    x = dat[.,1];
    y = dat[.,2:cols(dat)];

    // Draw plot using settings in 'myPlot'
    plotXY(myPlot, x,y);

    // Call 'plotSave' AFTER XY plot is drawn
    plotSave(figname,11|8.5, "in", 300);
    retp; 
endp;


You must login to post answers.

Have a Specific Question?

Get a real answer from a real person

Need Support?

Get help from our friendly experts.