nando
nando

Reputation: 31

How to hide plot output when running scripts in Octave from Terminal?

I am using Octave under Ubuntu, connected by ssh from another computer. All I want to see is the scripts commands, because for the plots I save them in .png form for opening later.

However, everytime I order the software to make a plot, like in:

clf ();
surface (tx, ty, telog);
filename=sprintf('surfaceLOG-%04d',k);
saveas (1, filename, "png");

I obtain an ascii of the plot in the Terminal too, which doesnt let me see the previous output, like in:

+---------------------------------------------------------------+
|        +-------------------------------------+                |
|     14 |-+  |     |    |   |    |    |    |+-|     +++25      |
|        |    +     +    +   +    +    +    +  |     ++|        |
|     12 |-+                                 +-|     |||        |
|        |                                     |     ||+20      |
|        |                                     |     |||        |
|     10 |-+                                 +-|     |||        |
|        |                                     |     ||+15      |
|  y ax8s|-+                                 +-|     |||        |
|      6 |-+                                 +-|     |||        |
|        |                                     |     ||+10      |
|      4 |-+                                 +-|     |||        |
|        |                                     |     |||        |
|        |                                     |     ||+5       |
|      2 |-+  +     +    +   +    +    +    ++-|     |||        |
|        |    |     |    |   |    |    |    |  |     |||        |
|      0 +-------------------------------------+     +++        |
|        0    2     4    6   8   10   12   14                   |
+---------------------------------------------------------------+

So my question is how to supress this ascii plot output.

Using:

surface (tx, ty, telog,'visible','off');

does not work since it makes an empty plot in the picture file.

Upvotes: 2

Views: 2339

Answers (1)

carandraug
carandraug

Reputation: 13081

You should set the visibility of the figure before and not part of the call to surface. The following will work (octave 3.8.2):

graphics_toolkit gnuplot
figure ("visible", "off");
[X, Y, Z] = peaks ();
surface (X, Y, Z)
h = surface (X, Y, Z);
saveas (h, "surface.png")

Upvotes: 4

Related Questions