https://wiki.octave.org/wiki/api.php?action=feedcontributions&user=Indium&feedformat=atomOctave - User contributions [en]2022-12-09T10:09:13ZUser contributionsMediaWiki 1.35.6https://wiki.octave.org/wiki/index.php?title=BASH_and_Octave&diff=2724BASH and Octave2013-05-09T09:44:19Z<p>Indium: </p>
<hr />
<div>One of the nice features of Octave (and similar languages) is that you don't have to compile the code that you generate. It is interpreted by Octave instead. This make learning the language easy by trail-and-error. Very often it is useful to save what you have learned from you fiddlings during the current Octave 'session' that you have opened for this fiddling.<br />
Octave keeps a copy of all your command you give on the Octave command line. In Linux it is saved in the file {{Codeline|~/.octave_hist}}.<br />
<br />
If you want to save all the Octave commands you gave during the last Octave session, generate a file {{Codeline|octave_save_last_session}} in your directory {{Codeline|~/bin}} and put the following inside:<br />
(that is: you have to open a terminal on your Linux computer and type the following commands on the terminal command line (make sure it is the BASH shell).<br />
<br />
{{Code||<syntaxhighlight lang="bash" style="font-size:13px"><br />
#!/bin/bash <br />
filename='octave_save_last_session.m'<br />
if [[ $# -eq 1 ]] ; then<br />
filename=$1<br />
fi<br />
<br />
tac $HOME/.octave_hist | awk '/^#/ {found++} ; found<2 ' |tac >$filename<br />
</syntaxhighlight>}}<br />
<br />
Then you still need to tell the BASH shell to make this file {{Codeline|~/bin/octave_save_last_session}} executable:<br />
<br />
{{Code||<syntaxhighlight lang="bash" style="font-size:13px"><br />
chmod u+x ~/bin/octave_save_last_session<br />
</syntaxhighlight>}}<br />
<br />
Now, imaging you have 'played around' in an interactive Octave session to try/test something: you want to save the commands you just used to not-forget. Just close the Octave session. If (in Linux) you close Octave that you have started from the command line, you will automatically return to the command line. Now you want to have a seperate copy of your last session put in a file (a {{Codeline|*.m}} file). On the command line, you just type {{Codeline|octave_save_last_session}}, and the last session (only!) is copied from the {{Codeline|~/.octave_hist}} file and saved to {{Codeline|octave_save_last_session.m}}. You can edit that file to remove parts you don't want to save, or you can re-execute the commands by {{Codeline|octave --persist octave_save_last_session.m}}.</div>Indiumhttps://wiki.octave.org/wiki/index.php?title=BASH_and_Octave&diff=2235BASH and Octave2013-02-07T15:51:54Z<p>Indium: </p>
<hr />
<div>One of the nice features of Octave (and similar languages) is that you don't have to compile the code that you generate. It is interpreted by Octave instead. This make learning the language easy by trail-and-error. Very often it is useful to save what you have learned from you fiddlings during the current Octave 'session' that you have opened for this fiddling.<br />
Octave keeps a copy of all your command you give on the Octave command line. In Linux it is saved in the file {{Codeline|~/.octave_hist}}.<br />
<br />
If you want to save all the Octave commands you gave during the last Octave session, generate a file {{Codeline|octave_save_last_session}} in your directory {{Codeline|~/bin}} and put the following inside:<br />
(that is: you have to open a terminal on your Linux computer and type the following commands on the terminal command line (make sure it is the BASH shell).<br />
<br />
{{Code||<syntaxhighlight lang="bash" style="font-size:13px"><br />
#!/bin/bash <br />
filename='octave_save_last_session.m'<br />
if [[ $# -eq 1 ]] ; then<br />
filename=$1<br />
fi<br />
<br />
tac $HOME/.octave_hist | awk '/^#/ {found++} ; found<2 ' |tac >$filename<br />
</syntaxhighlight>}}<br />
<br />
Then you still need to tell the BASH shell to make this file {{Codeline|~/bin/octave_save_last_session}} executable:<br />
<br />
{{Code||<syntaxhighlight lang="bash" style="font-size:13px"><br />
chmod u+x ~/bin/octave_save_last_session<br />
</syntaxhighlight>}}<br />
<br />
Now, when you have run Octave, have done something in that session that you want to save to a script (a {{Codeline|*.m}} file), then, on the command line, you just type {{Codeline|octave_save_last_session}}, and the last session is copied from the {{Codeline|~/.octave_hist}} file and saved to {{Codeline|octave_save_last_session.m}}. You can edit that file to remove parts you don't want to save, or you can re-execute the commands by {{Codeline|octave --persist octave_save_last_session.m}}.</div>Indiumhttps://wiki.octave.org/wiki/index.php?title=BASH_and_Octave&diff=2234BASH and Octave2013-02-07T15:37:18Z<p>Indium: Created page with "One of the nice features of Octave (and similar languages) is that you don't have to compile the code that you generate. It is interpreted by Octave instead. This make learnin..."</p>
<hr />
<div>One of the nice features of Octave (and similar languages) is that you don't have to compile the code that you generate. It is interpreted by Octave instead. This make learning the language easy by trail-and-error. Very often it is useful to save what you have learned from you fiddlings during the current Octave 'session' that you have opened for this fiddling.<br />
Octave keeps a copy of all your command you give on the Octave command line. In Linux it is saved in the file {{~/.octave_hist}}.</div>Indiumhttps://wiki.octave.org/wiki/index.php?title=GNU_Octave_Wiki&diff=2233GNU Octave Wiki2013-02-07T15:31:36Z<p>Indium: /* Miscellaneous */</p>
<hr />
<div>[http://www.octave.org GNU Octave] is a high-level interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other numerical experiments. It also provides extensive graphics capabilities for data visualization and manipulation. Octave is normally used through its interactive command line interface, but it can also be used to write non-interactive programs. The Octave language is quite similar to Matlab so that most programs are easily portable.<br />
<br />
This wiki is intended to supplement the [http://www.gnu.org/software/octave/doc/interpreter Octave documentation]. Before adding content, please check that it is not already part of, or belongs in, the [http://www.gnu.org/software/octave/doc/interpreter Octave's documentation].<br />
<br />
== Octave FAQ ==<br />
<br />
The [[FAQ]] is a list of frequently asked questions (FAQ) for Octave users and a good place to start.<br />
<br />
Answers to questions regarding [[FAQ#General|what is Octave]], [[FAQ#Licensing_issues|licensing]], [[FAQ#What.27s_new_in_Octave|new features]], [[FAQ#What_documentation_exists_for_Octave.3F|documentation]], [[FAQ#Installation_issues_and_problems|installation]], [[FAQ#Coding|coding]], [[FAQ#How_can_I_get_involved_in_Octave_development.3F|contributing to Octave]], and more, are found there.<br />
<br />
== Table of contents ==<br />
<br />
Below is a temporary attempt to organize the "most wanted" pages of the Wiki. A list of all pages on the wiki can be seen [[Special:AllPages|here]]. To locate something specific, try the wiki's search box, or prepend {{Codeline|<nowiki>site:http://www.octave.org/wiki/</nowiki>}} to a [https://www.google.com/search?&q=site%3Ahttp%3A%2F%2Fwww.octave.org%2Fwiki google search].<br />
<br />
=== Installation Instructions for Windows, MacOS X and GNU/Linux ===<br />
* [[Octave for Windows]]<br />
* [[Installing Win32 Distribution]]<br />
* [[Octave for MacOS X]]<br />
* [[Octave for GNU/Linux]]<br />
<br />
=== Building Octave ===<br />
* [[Build from source]]<br />
* [[Mercurial (hg) cheat sheet]]<br />
* [[Tests|Testing Source Code]]<br />
* [[Octave for GNU Linux: Binary Octave packages for GNU Linux|GNU/Linux binary packages]]<br />
* [[Octave for Mac|Octave for MacOS (minimalistic)]]<br />
* [[Create a MacOS X App Bundle Using MacPorts]]<br />
* [[Enable large arrays: Build octave such that it can use arrays larger than 2Gb.|Building Octave to Use Large Arrays]]<br />
<br />
=== Octave Forge ===<br />
* [[Octave_Forge|Octave Forge and Installing Packages]]<br />
* [[Creating_packages|Creating Packages]]<br />
<br />
==== Available Packages ====<br />
* [[Dicom_package|Dicom]]<br />
* [[Geometry_package|Geometry]]<br />
* [[IO_package|I/O]]<br />
* [[Java_package|Java]]<br />
* [[Mechanics_package|Mechanics]]<br />
* [[Instrument_control__package|Instrument control]]<br />
* [[Sockets_package|Sockets]]<br />
* [[Video_package|Video]]<br />
* [[bim_package|bim]] Solve Partial Differential Equaltions with a Finite Element method<br />
<br />
=== Editors & Octave ===<br />
* [[Gedit]]<br />
* [[Emacs]]<br />
* [[Vim]]<br />
* [[Kate]]<br />
* [http://octclipse.sourceforge.net Octclipse] (Windows and GNU/Linux only. The Octclipse developers are seeking individuals to assist with MacOS X support.)<br />
<br />
=== Plotting tutorial ===<br />
All or most of the information about plotting in Octave can be found in the manual and on the internet. This information can be too scattered over different resources for a new user to find his/her way into solving a plotting problem/need. This tutorial should be considered as the 'recipe text' by examples if you consider the manual as a 'recipe ingredients only'.<br />
* [[Recap of the hierarchy of each plot element]]<br />
* [[The order of the commands matter sometimes]] <br />
* [[Changing text elements (label, title)]]<br />
* [[More control over subplots]]<br />
* [[Enable "linestyle" functionality for Gnuplot's x11 terminal]]<br />
<br />
=== Miscellaneous ===<br />
* [[Octave Basics]] - For those just getting started.<br />
* [[Cookbook]] - Several simple and useful examples.<br />
* [[Tips and tricks]] - Guidelines to improve your coding skills.<br />
* [[Fortran]] - Accessing liboctave from a Fortran 2003 program.<br />
* [[Special:AllPages|All Pages]] - A list of all special pages (like recent changes to the wiki)<br />
* [[Publications using Octave]] - A compilation of scientific publications making reference to GNU Octave (add yours!).<br />
* [[Octave fun]] - Coding can be fun -- miscellaneous more or less funny scripts<br />
* [[BASH and Octave]] - tips for easing use of Octave together with GNU BASH (linux)<br />
<br />
== External Links ==<br />
* [http://www.gnu.org/software/octave/ Octave Homepage]<br />
* [http://octave.sourceforge.net/ Octave Forge]<br />
* [https://savannah.gnu.org/bugs/?group=octave GNU Octave - Bug Tracker]<br />
* [https://savannah.gnu.org/task/?group=octave GNU Octave - Task Tracker]<br />
* [https://savannah.gnu.org/patch/?group=octave GNU Octave - Patch Tracker]<br />
* [https://savannah.gnu.org/hg/?group=octave GNU Octave - Mercurial Repositories]<br />
* [http://planet.octave.org Planet Octave] (site summary for blogs from Octave's [http://code.google.com/soc/ GSoC] students)</div>Indiumhttps://wiki.octave.org/wiki/index.php?title=GNU_Octave_Wiki&diff=1491GNU Octave Wiki2012-07-17T11:32:19Z<p>Indium: /* Plotting tutorial */</p>
<hr />
<div>[http://www.octave.org GNU Octave] is a high-level interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other numerical experiments. It also provides extensive graphics capabilities for data visualization and manipulation. Octave is normally used through its interactive command line interface, but it can also be used to write non-interactive programs. The Octave language is quite similar to Matlab so that most programs are easily portable.<br />
<br />
This wiki is intended to supplement the [http://www.gnu.org/software/octave/doc/interpreter Octave documentation]. Before adding content, please check that it is not already part of, or belongs in, the [http://www.gnu.org/software/octave/doc/interpreter Octave's documentation].<br />
<br />
== Octave FAQ ==<br />
<br />
The [[FAQ]] is a list of frequently asked questions (FAQ) for Octave users and a good place to start.<br />
<br />
== Octave Conference 2012 ==<br />
<br />
Planning for [[OctConf 2012]] is under way. Newbies, experienced users, aspiring developers, and experienced developers are all encouraged to attend.<br />
<br />
== Table of contents ==<br />
<br />
Below is a temporary attempt to organize the "most wanted" pages of the Wiki. A list of all pages on the wiki can be seen [[Special:AllPages|here]]. To locate something specific, try the wiki's search box, or prepend {{Codeline|<nowiki>site:http://www.octave.org/wiki/</nowiki>}} to a [https://www.google.com/search?&q=site%3Ahttp%3A%2F%2Fwww.octave.org%2Fwiki google search].<br />
<br />
=== Installation Instructions for Windows, MacOS X and GNU/Linux ===<br />
* [[Octave for Windows]]<br />
* [[Installing Win32 Distribution]]<br />
* [[Octave for MacOS X]]<br />
* [[Octave for GNU/Linux]]<br />
<br />
=== Building Octave ===<br />
* [[Build from source]]<br />
* [[Mercurial (hg) cheat sheet]]<br />
* [[Tests|Testing Source Code]]<br />
* [[Octave for GNU Linux: Binary Octave packages for GNU Linux|GNU/Linux binary packages]]<br />
* [[Octave for Mac|Octave for MacOS (minimalistic)]]<br />
* [[Create a MacOS X App Bundle Using MacPorts]]<br />
* [[Enable large arrays: Build octave such that it can use arrays larger than 2Gb.|Building Octave to Use Large Arrays]]<br />
<br />
=== Octave Forge ===<br />
* [[Octave_Forge|Octave Forge and Installing Packages]]<br />
* [[Creating_packages|Creating Packages]]<br />
<br />
==== Available Packages ====<br />
* [[Dicom_package|Dicom]]<br />
* [[Geometry_package|Geometry]]<br />
* [[IO_package|I/O]]<br />
* [[Java_package|Java]]<br />
* [[Mechanics_package|Mechanics]]<br />
* [[Robotics_package|Robotics]]<br />
* [[Sockets_package|Sockets]]<br />
* [[Video_package|Video]]<br />
<br />
=== Editors & Octave ===<br />
* [[Gedit]]<br />
* [[Emacs]]<br />
* [[VIM]]<br />
* [[Kate]]<br />
<br />
=== Plotting tutorial ===<br />
All or most of the information about plotting in Octave can be found in the manual and on the internet. This information can be too scattered over different resources for a new user to find his/her way into solving a plotting problem/need. This tutorial should be considered as the 'recipe text' by examples if you consider the manual as a 'recipe ingredients only'.<br />
* [[Recap of the hierarchy of each plot element]]<br />
* [[The order of the commands matter sometimes]] <br />
* [[Changing text elements (label, title)]]<br />
* [[More control over subplots]]<br />
<br />
=== Miscellaneous ===<br />
* [[Tips and tricks]]<br />
* [[Special:AllPages|All Pages]]<br />
* [[Publications using Octave]]<br />
<br />
== External Links ==<br />
* [http://www.gnu.org/software/octave/ Octave Homepage]<br />
* [http://octave.sourceforge.net/ Octave Forge]<br />
* [https://savannah.gnu.org/bugs/?group=octave GNU Octave - Bug Tracker]<br />
* [https://savannah.gnu.org/task/?group=octave GNU Octave - Task Tracker]<br />
* [https://savannah.gnu.org/patch/?group=octave GNU Octave - Patch Tracker]<br />
* [https://savannah.gnu.org/hg/?group=octave GNU Octave - Mercurial Repositories]<br />
* [http://planet.octave.org Planet Octave] (site summary for blogs from Octave's [http://http://code.google.com/soc/ GSoC] students)</div>Indiumhttps://wiki.octave.org/wiki/index.php?title=Recap_of_the_hierarchy_of_each_plot_element&diff=1490Recap of the hierarchy of each plot element2012-07-17T11:30:40Z<p>Indium: </p>
<hr />
<div>First of all, Octave aims at being compatible with Matlab as much as possible, so the graphics part is very similar too to Matlab. In Octave the first choice to make is the {{Codeline|graphics_toolkit()}}. Standard is the 'gnuplot' toolkit using the [http://www.gnuplot.info Gnuplot] software package . The second choice is [http://www.fltk.org 'fltk']. You might want to try to test both of them for your plotting aims to see which solves your problem.<br />
<br />
After the choice of the {{Codeline|graphics_toolkit('gnuplot')}} or {{Codeline|graphics_toolkit('fltk')}}, there is the following hierarchy to address when make/adapting your plot:<br />
<br />
* root (any hierarchy needs to start somewhere)<br />
* gcf() (the handle to your figure: one for every figure)<br />
* gca() (the handle to the axes inside a particular figure (several if you have subplots) <br />
* p=plot(x,y) (p is the handle (inside the current axes handle) to the data, data symbols, data line thickness, etc)<br />
* t=text(xlocation,ylocation,'some text') (t is the handle to the text and is a child of the current axes handle, like p)<br />
* pp=patch([x1 x2 x3 x4], [y1 y2 y3 y4], 'r') (pp is the handle to a red patch using the coordinates inside the current axes handle)<br />
<br />
Let's do an example:<br />
<br />
graphics_toolkit('gnuplot');<br />
x=0:0.1:3;<br />
y=sin(x);<br />
p=plot(x,y,'b');<br />
<br />
This should get you a plot of a part of a sine wave. Octave has used all standard properties like line widths, fonts, etc, except for the line color which was forced to be blue (via the {{Codeline|'b'}}).<br />
<br />
Before going into the hierarchy and how to change things, let's make things more complicated:<br />
<br />
graphics_toolkit('gnuplot');<br />
figure(1)<br />
x=0:0.1:3;<br />
y=sin(x);<br />
p=plot(x,y,'b');<br />
figure(2)<br />
subplot(2,1,1);<br />
r=plot(x,y.^2,'og');<br />
subplot(2,1,2);<br />
q=plot(x,x.^2,'k');<br />
<br />
* You now have 2 windows that popped up on your screen: figure1 and figure2.<br />
* figure2 has 2 axes objects inside: a 'y=(sin(x))^2' and a 'y=x^2'<br />
* the actual data and data-plot-properties are inside the handles {{Codeline|p}} and {{Codeline|r}}.<br />
<br />
So let's say you want to change the line thickness of the data in the first figure:<br />
<br />
figure(1)<br />
set(p,'linewidth',3)<br />
<br />
You can get the color of the two other plots by referring to their handles:<br />
get(q,'color')<br />
get(r,'color')<br />
Which will give you the RGB code for black (0,0,0) and green (0,1,0).<br />
<br />
Have a look at all the things you can change with:<br />
get(q)<br />
<br />
And {{Codeline|set}} anything that is not to your taste to something else (for what's available see the [http://www.gnu.org/software/octave/doc/interpreter/ manual]).<br />
set(p,'marker','*')<br />
<br />
Adding {{Codeline|text()}} inside an {{Codeline|axes()}} object is done by<br />
text(2,0.8,'HERE');<br />
... but it now is inserted in figure1, which ''might NOT be want you anticipated''.<br />
<br />
The {{Codeline|text()}} command does ''not'' have the option to tell it in which figure or axes object to write the text. <br />
Make sure you have moved to current figure and axes ''before'' calling {{Codeline|text()}} to insert text:<br />
figure(2) % the following command will operate on figure(2)<br />
get(gcf(),'children') % which two axes objects are there inside the current figure ?<br />
set(gcf(),'currentaxes',(get(gcf(),'children'))(2)) % chose the second set of axes<br />
text(1.0,0.5,'THIS IS WHAT I WANTED')</div>Indiumhttps://wiki.octave.org/wiki/index.php?title=Recap_of_the_hierarchy_of_each_plot_element&diff=1474Recap of the hierarchy of each plot element2012-07-13T15:19:02Z<p>Indium: </p>
<hr />
<div>First of all, Octave aims at being compatible with Matlab (TM) as much as possible, so the graphics part is very similar too to Matlab. In Octave the first choice to make is the {{Codeline|graphics_toolkit()}}. Standard is the 'gnuplot' toolkit using the [http://www.gnuplot.info Gnuplot] software package . The second choice is 'fltk' [http://www.fltk.org fltk]. You might want to try to test both of them for your plotting aims to see which solves your problem.<br />
<br />
After the choice of the {{Codeline|graphics_toolkit('gnuplot')}} or {{Codeline|graphics_toolkit('fltk')}}, there is the following hierarchy to address when make/adapting your plot:<br />
<br />
* root (any hierarchy needs to start somewhere)<br />
* gcf() (the handle to your figure: one for every figure)<br />
* gca() (the handle to the axes inside a particular figure (several if you have subplots) <br />
* p=plot(x,y) (p is the handle (inside the current axes handle) to the data, data symbols, data line thickness, etc)<br />
<br />
Let's do an example:<br />
<br />
graphics_toolkit('gnuplot');<br />
x=0:0.1:3;<br />
y=sin(x);<br />
p=plot(x,y,'b');<br />
<br />
This should get you a plot of a part of a sine wave. Octave has used all standard properties like line widths, fonts, etc, except for the line color which was forced to be blue (via the {{Codeline|'b'}}).<br />
<br />
Before going into the hierarchy and how to change things, let's make things more complicated:<br />
<br />
graphics_toolkit('gnuplot');<br />
figure(1)<br />
x=0:0.1:3;<br />
y=sin(x);<br />
p=plot(x,y,'b');<br />
figure(2)<br />
subplot(2,1,1);<br />
r=plot(x,y.^2,'og');<br />
subplot(2,1,2);<br />
q=plot(x,x.^2,'k');<br />
<br />
* You now have 2 windows that popped up on your screen: figure1 and figure2.<br />
* figure2 has 2 axes objects inside: a 'y=(sin(x))^2' and a 'y=x^2'<br />
* the actual data and data-plot-properties are inside the handles {{Codeline|p}} and {{Codeline|r}}.<br />
<br />
So let's say you want to change the line thickness of the data in the first figure:<br />
<br />
figure(1)<br />
set(p,'linewidth',3)<br />
<br />
You can get the color of the two other plots by referring to their handles:<br />
get(q,'color')<br />
get(r,'color')<br />
Which will give you the RGB code for black (0,0,0) and green (0,1,0).<br />
<br />
Have a look at all the things you can change with:<br />
get(q)<br />
<br />
And {{Codeline|set}} anything that is not to your taste to something else (for what's available see the [http://www.gnu.org/software/octave/doc/interpreter/ manual]).<br />
set(p,'marker','*')<br />
<br />
Adding {{Codeline|text()}} inside an {{Codeline|axes()}} object is done by<br />
text(2,0.8,'HERE');<br />
... but it now inserted in figure1, which ''might NOT be want you anticipated''.<br />
<br />
The {{Codeline|text()}} command does ''not'' have the option to tell it in which figure or axes object to write the text. <br />
Make sure you have moved current figure and axes ''before'' calling {{Codeline|text()}} to insert text:<br />
figure(2)<br />
get(gcf(),'children') % which two axes objects are there inside figure(2)<br />
set(gcf(),'currentaxes',(get(gcf(),'children'))(2)) % chose the second one<br />
text(1.0,0.5,'THIS IS WHAT I WANTED')</div>Indiumhttps://wiki.octave.org/wiki/index.php?title=Recap_of_the_hierarchy_of_each_plot_element&diff=1473Recap of the hierarchy of each plot element2012-07-13T15:17:42Z<p>Indium: </p>
<hr />
<div>First of all, Octave aims at being compatible with Matlab (TM) as much as possible, so the graphics part is very similar too to Matlab. In Octave the first choice to make is the {{Codeline|graphics_toolkit()}}. Standard is the 'gnuplot' toolkit using the [http://www.gnuplot.info Gnuplot] software package . The second choice is 'fltk' [http://www.fltk.org fltk]. You might want to try to test both of them for your plotting aims to see which solves your problem.<br />
<br />
After the choice of the {{Codeline|graphics_toolkit('gnuplot')}} or {{Codeline|graphics_toolkit('fltk')}}, there is the following hierarchy to address when make/adapting your plot:<br />
<br />
* root (any hierarchy needs to start somewhere)<br />
* gcf() (the handle to your figure: one for every figure)<br />
* gca() (the handle to the axes inside a particular figure (several if you have subplots) <br />
* p=plot(x,y) (p is the handle (inside the current axes handle) to the data, data symbols, data line thickness, etc)<br />
<br />
Let's do an example:<br />
<br />
graphics_toolkit('gnuplot');<br />
x=0:0.1:3;<br />
y=sin(x);<br />
p=plot(x,y,'b');<br />
<br />
This should get you a plot of a part of a sine wave. Octave has used all standard properties like line widths, fonts, etc, except for the line color which was forced to be blue (via the {{Codeline|'b'}}).<br />
<br />
Before going into the hierarchy and how to change things, let's make things more complicated:<br />
<br />
graphics_toolkit('gnuplot');<br />
figure(1)<br />
x=0:0.1:3;<br />
y=sin(x);<br />
p=plot(x,y,'b');<br />
figure(2)<br />
subplot(2,1,1);<br />
r=plot(x,y.^2,'og');<br />
subplot(2,1,2);<br />
q=plot(x,x.^2,'k');<br />
<br />
* You now have 2 windows that popped up on your screen: figure1 and figure2.<br />
* figure2 has 2 axes objects inside: a 'y=(sin(x))^2' and a 'y=x^2'<br />
* the actual data and data-plot-properties are inside the handles {{Codeline|p}} and {{Codeline|r}}.<br />
<br />
So let's say you want to change the line thickness of the data in the first figure:<br />
<br />
figure(1)<br />
set(p,'linewidth',3)<br />
<br />
You can get the color of the two other plots by referring to their handles:<br />
get(q,'color')<br />
get(r,'color')<br />
Which will give you the RGB code for black (0,0,0) and green (0,1,0).<br />
<br />
Have a look at all the things you can change with:<br />
get(q)<br />
<br />
And {{Codeline|set}} anything that is not to your taste to something else (for what's available see the [http://www.gnu.org/software/octave/doc/interpreter/ manual]).<br />
set(p,'marker','*')<br />
<br />
Adding {{Codeline|text()}} inside an {{Codeline|axes()}} object is done by<br />
text(2,0.8,'HERE');<br />
... but it now inserted in figure1, which ''might NOT be want you anticipated''.<br />
<br />
The {{Codeline|text()}} command does ''not'' have the option to tell it in which figure or axes object to write the text. <br />
Make sure you have moved current figure and axes ''before'' calling {{Codeline|text()}} to insert text:<br />
figure(2)<br />
get(gcf(),'children') % which two axes objects are there inside figure(2)<br />
set(gcf(),'currentaxes',(get(gcf(),'children'))(2)) % chose the second one<br />
text(1.0,0.5,'THIS IS WHAT I WANTED')<br />
<br />
text(1,0.5,"This is where I wanted my text");</div>Indiumhttps://wiki.octave.org/wiki/index.php?title=Recap_of_the_hierarchy_of_each_plot_element&diff=1472Recap of the hierarchy of each plot element2012-07-13T15:08:53Z<p>Indium: </p>
<hr />
<div>First of all, Octave aims at being compatible with Matlab (TM) as much as possible, so the graphics part is very similar too to Matlab. In Octave the first choice to make is the {{Codeline|graphics_toolkit()}}. Standard is the 'gnuplot' toolkit using the [http://www.gnuplot.info Gnuplot] software package . The second choice is 'fltk' [http://www.fltk.org fltk]. You might want to try to test both of them for your plotting aims to see which solves your problem.<br />
<br />
After the choice of the {{Codeline|graphics_toolkit('gnuplot')}} or {{Codeline|graphics_toolkit('fltk')}}, there is the following hierarchy to address when make/adapting your plot:<br />
<br />
* root (any hierarchy needs to start somewhere)<br />
* gcf() (the handle to your figure: one for every figure)<br />
* gca() (the handle to the axes inside a particular figure (several if you have subplots) <br />
* p=plot(x,y) (p is the handle (inside the current axes handle) to the data, data symbols, data line thickness, etc)<br />
<br />
Let's do an example:<br />
<br />
graphics_toolkit('gnuplot');<br />
x=0:0.1:3;<br />
y=sin(x);<br />
p=plot(x,y,'b');<br />
<br />
This should get you a plot of a part of a sine wave. Octave has used all standard properties like line widths, fonts, etc, except for the line color which was forced to be blue (via the {{Codeline|'b'}}).<br />
<br />
Before going into the hierarchy and how to change things, let's make things more complicated:<br />
<br />
graphics_toolkit('gnuplot');<br />
figure(1)<br />
x=0:0.1:3;<br />
y=sin(x);<br />
p=plot(x,y,'b');<br />
figure(2)<br />
subplot(2,1,1);<br />
r=plot(x,y.^2,'og');<br />
subplot(2,1,2);<br />
q=plot(x,x.^2,'k');<br />
<br />
* You now have 2 windows that popped up on your screen: figure1 and figure2.<br />
* figure2 has 2 axes objects inside: a 'y=(sin(x))^2' and a 'y=x^2'<br />
* the actual data and data-plot-properties are inside the handles {{Codeline|p}} and {{Codeline|r}}.<br />
<br />
So let's say you want to change the line thickness of the data in the first figure:<br />
<br />
figure(1)<br />
set(p,'linewidth',3)<br />
<br />
You can get the color of the two other plots by referring to their handles:<br />
get(q,'color')<br />
get(r,'color')<br />
Which will give you the RGB code for black (0,0,0) and green (0,1,0).<br />
<br />
Have a look at all the things you can change with:<br />
get(q)<br />
<br />
And {{Codeline|set}} anything that is not to your taste to something else (for what's available see the [http://www.gnu.org/software/octave/doc/interpreter/ manual]).<br />
set(p,'marker','*')<br />
<br />
Adding {{Codeline|text()}} inside an {{Codeline|axes()}} object is done by<br />
text(2,0.8,'HERE');<br />
... but it now inserted in figure1, which ''might NOT be want you anticipated''.<br />
<br />
The {{Codeline|text()}} command does ''not'' have the option to tell it in which figure or axes object to write the text. <br />
Make sure you have moved current figure and axes ''before'' calling {{Codeline|text()}} to insert text:<br />
figure(2)<br />
set(gcf(),'currentaxes',r);<br />
text(1,0.5,"This is where I wanted my text");</div>Indiumhttps://wiki.octave.org/wiki/index.php?title=Recap_of_the_hierarchy_of_each_plot_element&diff=1471Recap of the hierarchy of each plot element2012-07-13T14:50:18Z<p>Indium: </p>
<hr />
<div>First of all, Octave aims at being compatible with Matlab (TM) as much as possible, so the graphics part is very similar too to Matlab. In Octave the first choice to make is the {{Codeline|graphics_toolkit()}}. Standard is the 'gnuplot' toolkit using the [http://www.gnuplot.info Gnuplot] software package . The second choice is 'fltk' [http://www.fltk.org fltk]. You might want to try to test both of them for your plotting aims to see which solves your problem.<br />
<br />
After the choice of the {{Codeline|graphics_toolkit('gnuplot')}} or {{Codeline|graphics_toolkit('fltk')}}, there is the following hierarchy to address when make/adapting your plot:<br />
<br />
* root (any hierarchy needs to start somewhere)<br />
* gcf() (the handle to your figure: one for every figure)<br />
* gca() (the handle to the axes inside a particular figure (several if you have subplots) <br />
* p=plot(x,y) (p is the handle (inside the current axes handle) to the data, data symbols, data line thickness, etc)<br />
<br />
Let's do an example:<br />
<br />
graphics_toolkit('gnuplot');<br />
x=0:0.1:3;<br />
y=sin(x);<br />
p=plot(x,y,'b');<br />
<br />
This should get you a plot of a part of a sine wave. Octave has used all standard properties like line widths, fonts, etc, except for the line color which was forced to be blue (via the {{Codeline|'b'}}).<br />
<br />
Before going into the hierarchy and how to change things, let's make things more complicated:<br />
<br />
graphics_toolkit('gnuplot');<br />
figure(1)<br />
x=0:0.1:3;<br />
y=sin(x);<br />
p=plot(x,y,'b');<br />
figure(2)<br />
subplot(2,1,1);<br />
r=plot(x,y.^2,'og');<br />
subplot(2,1,2);<br />
q=plot(x,x.^2,'k');<br />
<br />
* You now have 2 windows that popped up on your screen: figure1 and figure2.<br />
* figure2 has 2 axes objects inside: a 'y=(sin(x))^2' and a 'y=x^2'<br />
* the actual data and data-plot-properties are inside the handles {{Codeline|p}} and {{Codeline|r}}.<br />
<br />
To understand how to change things in this situation you ''have to know where you 'are' at this moment''. You 'are' in the second axes object {{Codeline|q}} of the second figure!<br />
So let's say you want to change the line thickness of the data in the first figure:<br />
<br />
figure(1)<br />
set(p,'linewidth',3)<br />
<br />
You can get the color of the two other plots by referring to their handles:<br />
get(q,'color')<br />
get(r,'color')<br />
Which will give you the RGB code for black (0,0,0) and green (0,1,0).<br />
<br />
Have a look at all the things you can change with:<br />
get(q)<br />
<br />
And {{Codeline|set} anything that is not to your taste to something else (for what's available see the [http://www.gnu.org/software/octave/doc/interpreter/ manual].<br />
set(p,'marker','*')</div>Indiumhttps://wiki.octave.org/wiki/index.php?title=Recap_of_the_hierarchy_of_each_plot_element&diff=1470Recap of the hierarchy of each plot element2012-07-13T14:27:20Z<p>Indium: </p>
<hr />
<div>First of all, Octave aims at being compatible with Matlab (TM) as much as possible, so the graphics part is very similar too to Matlab. In Octave the first choice to make is the {{Codeline|graphics_toolkit()}}. Standard is the 'gnuplot' toolkit using the [http://www.gnuplot.info Gnuplot] software package . The second choice is 'fltk' [http://www.fltk.org fltk]. You might want to try to test both of them for your plotting aims to see which solves your problem.<br />
<br />
After the choice of the {{Codeline|graphics_toolkit('gnuplot')}} or {{Codeline|graphics_toolkit('fltk')}}, there is the following hierarchy to address when make/adapting your plot:<br />
<br />
* root (any hierarchy needs to start somewhere)<br />
* gcf() (the handle to your figure: one for every figure)<br />
* gca() (the handle to the axes inside a particular figure (several if you have subplots) <br />
* p=plot(x,y) (p is the handle (inside the current axes handle) to the data, data symbols, data line thickness, etc)<br />
<br />
Let's do an example:<br />
<br />
graphics_toolkit('gnuplot');<br />
x=0:0.1:3;<br />
y=sin(x);<br />
p=plot(x,y,'b');<br />
<br />
This should get you a plot of a part of a sine wave. Octave has used all standard properties like line widths, fonts, etc, except for the line color which was forced to be blue (via the {{Codeline|'b'}}).<br />
<br />
Before going into the hierarchy and how to change things, let's make things more complicated:<br />
<br />
graphics_toolkit('gnuplot');<br />
figure(1)<br />
x=0:0.1:3;<br />
y=sin(x);<br />
p=plot(x,y,'b');<br />
figure(2)<br />
subplot(2,1,1);<br />
r=plot(x,y.^2,'og');<br />
subplot(2,1,2);<br />
q=plot(x,x.^2,'k');<br />
<br />
* You now have 2 windows that popped up on your screen: figure1 and figure2.<br />
* figure2 has 2 axes objects inside: a 'y=(sin(x))^2' and a 'y=x^2'<br />
* the actual data and data-plot-properties are inside the handles {{Codeline|p}} and {{Codeline|r}}.</div>Indiumhttps://wiki.octave.org/wiki/index.php?title=Recap_of_the_hierarchy_of_each_plot_element&diff=1469Recap of the hierarchy of each plot element2012-07-13T14:14:13Z<p>Indium: Created page with "First of all, Octave aims at being compatible with Matlab (TM) as much as possible, so the graphics part is very similar too to Matlab. In Octave the first choice to make is t..."</p>
<hr />
<div>First of all, Octave aims at being compatible with Matlab (TM) as much as possible, so the graphics part is very similar too to Matlab. In Octave the first choice to make is the {{Codeline|graphics_toolkit()}}. Standard is the 'gnuplot' toolkit using the [http://www.gnuplot.info Gnuplot] software package . The second choice is 'fltk' [http://www.fltk.org fltk]. You might want to try to test both of them for your plotting aims to see which solves your problem.<br />
<br />
After the choice of the {{Codeline|graphics_toolkit('gnuplot')}} or {{Codeline|graphics_toolkit('fltk')}}, there is the following hierarchy to address when make/adapting your plot:<br />
<br />
- root (any hierarchy needs to start somewhere)<br />
- gcf() (the handle to your figure: one for every figure)<br />
- gca() (the handle to the axes inside a figure (several if you have subplots) <br />
- p=plot(x,y) (p is the handle to the data, data symbols, data line thickness, etc)<br />
<br />
Let's do an example:<br />
<br />
graphics_toolkit('gnuplot');<br />
x=0:0.1:3;<br />
y=sin(x);<br />
p=plot(x,y,'b');<br />
<br />
This should get you a plot of a part of a sine wave. Octave has used all standard properties like line widths, fonts, etc, except for the line color which was forced to be blue (via the {{Codeline|'b'}}).</div>Indiumhttps://wiki.octave.org/wiki/index.php?title=GNU_Octave_Wiki&diff=1468GNU Octave Wiki2012-07-13T14:03:22Z<p>Indium: /* Plotting tutorial */</p>
<hr />
<div>[http://www.octave.org GNU Octave] is a high-level interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other numerical experiments. It also provides extensive graphics capabilities for data visualization and manipulation. Octave is normally used through its interactive command line interface, but it can also be used to write non-interactive programs. The Octave language is quite similar to Matlab so that most programs are easily portable.<br />
<br />
This wiki is intended to supplement the [http://www.gnu.org/software/octave/doc/interpreter Octave documentation]. Before adding content, please check that it is not already part of, or belongs in, the [http://www.gnu.org/software/octave/doc/interpreter Octave's documentation].<br />
<br />
== Octave FAQ ==<br />
<br />
The [[FAQ]] is a list of frequently asked questions (FAQ) for Octave users and a good place to start.<br />
<br />
== Octave Conference 2012 ==<br />
<br />
Planning for [[OctConf 2012]] is under way. Newbies, experienced users, aspiring developers, and experienced developers are all encouraged to attend.<br />
<br />
== Table of contents ==<br />
<br />
Below is a temporary attempt to organize the "most wanted" pages of the Wiki. A list of all pages on the wiki can be seen [[Special:AllPages|here]]. To locate something specific, try the wiki's search box, or prepend {{Codeline|<nowiki>site:http://www.octave.org/wiki/</nowiki>}} to a [https://www.google.com/search?&q=site%3Ahttp%3A%2F%2Fwww.octave.org%2Fwiki google search].<br />
<br />
=== Installation Instructions for Windows, MacOS X and GNU/Linux ===<br />
* [[Octave for Windows]]<br />
* [[Installing Win32 Distribution]]<br />
* [[Octave for MacOS X]]<br />
* [[Octave for GNU/Linux]]<br />
<br />
=== Building Octave ===<br />
* [[Build from source]]<br />
* [[Mercurial (hg) cheat sheet]]<br />
* [[Tests|Testing Source Code]]<br />
* [[Octave for GNU Linux: Binary Octave packages for GNU Linux|GNU/Linux binary packages]]<br />
* [[Octave for Mac|Octave for MacOS (minimalistic)]]<br />
* [[Create a MacOS X App Bundle Using MacPorts]]<br />
* [[Enable large arrays: Build octave such that it can use arrays larger than 2Gb.|Building Octave to Use Large Arrays]]<br />
<br />
=== Octave Forge ===<br />
* [[Octave_Forge|Octave Forge and Installing Packages]]<br />
* [[Creating_packages|Creating Packages]]<br />
<br />
==== Available Packages ====<br />
* [[Dicom_package|Dicom]]<br />
* [[Geometry_package|Geometry]]<br />
* [[IO_package|I/O]]<br />
* [[Java_package|Java]]<br />
* [[Mechanics_package|Mechanics]]<br />
* [[Robotics_package|Robotics]]<br />
* [[Sockets_package|Sockets]]<br />
* [[Video_package|Video]]<br />
<br />
=== Editors & Octave ===<br />
* [[Gedit]]<br />
* [[Emacs]]<br />
* [[VIM]]<br />
* [[Kate]]<br />
<br />
=== Plotting tutorial ===<br />
All or most of the information about plotting in Octave can be found in the manual and on the internet. This information can be too scattered over different resources for a new user to find his/her way into solving a plotting problem/need. This tutorial should be considered as the 'recipe text' by examples if you consider the manual as a 'recipe ingredients only'.<br />
* [[Recap of the hierarchy of each plot element]] <br />
* [[Changing text elements (label, title)]]<br />
* [[More control over subplots]]<br />
<br />
=== Miscellaneous ===<br />
* [[Tips and tricks]]<br />
* [[Special:AllPages|All Pages]]<br />
* [[Publications using Octave]]<br />
<br />
== External Links ==<br />
* [http://www.gnu.org/software/octave/ Octave Homepage]<br />
* [http://octave.sourceforge.net/ Octave Forge]<br />
* [https://savannah.gnu.org/bugs/?group=octave GNU Octave - Bug Tracker]<br />
* [https://savannah.gnu.org/task/?group=octave GNU Octave - Task Tracker]<br />
* [https://savannah.gnu.org/patch/?group=octave GNU Octave - Patch Tracker]<br />
* [https://savannah.gnu.org/hg/?group=octave GNU Octave - Mercurial Repositories]<br />
* [http://planet.octave.org Planet Octave] (site summary for blogs from Octave's [http://http://code.google.com/soc/ GSoC] students)</div>Indiumhttps://wiki.octave.org/wiki/index.php?title=GNU_Octave_Wiki&diff=1467GNU Octave Wiki2012-07-13T14:02:04Z<p>Indium: /* Plotting tutorial */</p>
<hr />
<div>[http://www.octave.org GNU Octave] is a high-level interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other numerical experiments. It also provides extensive graphics capabilities for data visualization and manipulation. Octave is normally used through its interactive command line interface, but it can also be used to write non-interactive programs. The Octave language is quite similar to Matlab so that most programs are easily portable.<br />
<br />
This wiki is intended to supplement the [http://www.gnu.org/software/octave/doc/interpreter Octave documentation]. Before adding content, please check that it is not already part of, or belongs in, the [http://www.gnu.org/software/octave/doc/interpreter Octave's documentation].<br />
<br />
== Octave FAQ ==<br />
<br />
The [[FAQ]] is a list of frequently asked questions (FAQ) for Octave users and a good place to start.<br />
<br />
== Octave Conference 2012 ==<br />
<br />
Planning for [[OctConf 2012]] is under way. Newbies, experienced users, aspiring developers, and experienced developers are all encouraged to attend.<br />
<br />
== Table of contents ==<br />
<br />
Below is a temporary attempt to organize the "most wanted" pages of the Wiki. A list of all pages on the wiki can be seen [[Special:AllPages|here]]. To locate something specific, try the wiki's search box, or prepend {{Codeline|<nowiki>site:http://www.octave.org/wiki/</nowiki>}} to a [https://www.google.com/search?&q=site%3Ahttp%3A%2F%2Fwww.octave.org%2Fwiki google search].<br />
<br />
=== Installation Instructions for Windows, MacOS X and GNU/Linux ===<br />
* [[Octave for Windows]]<br />
* [[Installing Win32 Distribution]]<br />
* [[Octave for MacOS X]]<br />
* [[Octave for GNU/Linux]]<br />
<br />
=== Building Octave ===<br />
* [[Build from source]]<br />
* [[Mercurial (hg) cheat sheet]]<br />
* [[Tests|Testing Source Code]]<br />
* [[Octave for GNU Linux: Binary Octave packages for GNU Linux|GNU/Linux binary packages]]<br />
* [[Octave for Mac|Octave for MacOS (minimalistic)]]<br />
* [[Create a MacOS X App Bundle Using MacPorts]]<br />
* [[Enable large arrays: Build octave such that it can use arrays larger than 2Gb.|Building Octave to Use Large Arrays]]<br />
<br />
=== Octave Forge ===<br />
* [[Octave_Forge|Octave Forge and Installing Packages]]<br />
* [[Creating_packages|Creating Packages]]<br />
<br />
==== Available Packages ====<br />
* [[Dicom_package|Dicom]]<br />
* [[Geometry_package|Geometry]]<br />
* [[IO_package|I/O]]<br />
* [[Java_package|Java]]<br />
* [[Mechanics_package|Mechanics]]<br />
* [[Robotics_package|Robotics]]<br />
* [[Sockets_package|Sockets]]<br />
* [[Video_package|Video]]<br />
<br />
=== Editors & Octave ===<br />
* [[Gedit]]<br />
* [[Emacs]]<br />
* [[VIM]]<br />
* [[Kate]]<br />
<br />
=== Plotting tutorial ===<br />
All or most of the information about plotting in Octave can be found in the manual and on the internet. This information can be too scattered over different resources for a new user to find his/her way into solving a plotting problem/need. This tutorial should be considered as the 'recipe text' by examples if you consider the manual as a 'recipe ingredients only'.<br />
* [[Recap of the hierarchy of each plot element]]<br />
First of all, Octave aims at being compatible with Matlab (TM) as much as possible, so the graphics part is very similar too to Matlab. In Octave the first choice to make is the {{Codeline|graphics_toolkit()}}. Standard is the 'gnuplot' toolkit using the [http://www.gnuplot.info Gnuplot] software package . The second choice is 'fltk' [http://www.fltk.org fltk]. You might want to try to test both of them for your plotting aims to see which solves your problem. <br />
* [[Changing text elements (label, title)]]<br />
* [[More control over subplots]]<br />
<br />
=== Miscellaneous ===<br />
* [[Tips and tricks]]<br />
* [[Special:AllPages|All Pages]]<br />
* [[Publications using Octave]]<br />
<br />
== External Links ==<br />
* [http://www.gnu.org/software/octave/ Octave Homepage]<br />
* [http://octave.sourceforge.net/ Octave Forge]<br />
* [https://savannah.gnu.org/bugs/?group=octave GNU Octave - Bug Tracker]<br />
* [https://savannah.gnu.org/task/?group=octave GNU Octave - Task Tracker]<br />
* [https://savannah.gnu.org/patch/?group=octave GNU Octave - Patch Tracker]<br />
* [https://savannah.gnu.org/hg/?group=octave GNU Octave - Mercurial Repositories]<br />
* [http://planet.octave.org Planet Octave] (site summary for blogs from Octave's [http://http://code.google.com/soc/ GSoC] students)</div>Indiumhttps://wiki.octave.org/wiki/index.php?title=GNU_Octave_Wiki&diff=1466GNU Octave Wiki2012-07-13T13:56:33Z<p>Indium: /* Plotting tutorial */</p>
<hr />
<div>[http://www.octave.org GNU Octave] is a high-level interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other numerical experiments. It also provides extensive graphics capabilities for data visualization and manipulation. Octave is normally used through its interactive command line interface, but it can also be used to write non-interactive programs. The Octave language is quite similar to Matlab so that most programs are easily portable.<br />
<br />
This wiki is intended to supplement the [http://www.gnu.org/software/octave/doc/interpreter Octave documentation]. Before adding content, please check that it is not already part of, or belongs in, the [http://www.gnu.org/software/octave/doc/interpreter Octave's documentation].<br />
<br />
== Octave FAQ ==<br />
<br />
The [[FAQ]] is a list of frequently asked questions (FAQ) for Octave users and a good place to start.<br />
<br />
== Octave Conference 2012 ==<br />
<br />
Planning for [[OctConf 2012]] is under way. Newbies, experienced users, aspiring developers, and experienced developers are all encouraged to attend.<br />
<br />
== Table of contents ==<br />
<br />
Below is a temporary attempt to organize the "most wanted" pages of the Wiki. A list of all pages on the wiki can be seen [[Special:AllPages|here]]. To locate something specific, try the wiki's search box, or prepend {{Codeline|<nowiki>site:http://www.octave.org/wiki/</nowiki>}} to a [https://www.google.com/search?&q=site%3Ahttp%3A%2F%2Fwww.octave.org%2Fwiki google search].<br />
<br />
=== Installation Instructions for Windows, MacOS X and GNU/Linux ===<br />
* [[Octave for Windows]]<br />
* [[Installing Win32 Distribution]]<br />
* [[Octave for MacOS X]]<br />
* [[Octave for GNU/Linux]]<br />
<br />
=== Building Octave ===<br />
* [[Build from source]]<br />
* [[Mercurial (hg) cheat sheet]]<br />
* [[Tests|Testing Source Code]]<br />
* [[Octave for GNU Linux: Binary Octave packages for GNU Linux|GNU/Linux binary packages]]<br />
* [[Octave for Mac|Octave for MacOS (minimalistic)]]<br />
* [[Create a MacOS X App Bundle Using MacPorts]]<br />
* [[Enable large arrays: Build octave such that it can use arrays larger than 2Gb.|Building Octave to Use Large Arrays]]<br />
<br />
=== Octave Forge ===<br />
* [[Octave_Forge|Octave Forge and Installing Packages]]<br />
* [[Creating_packages|Creating Packages]]<br />
<br />
==== Available Packages ====<br />
* [[Dicom_package|Dicom]]<br />
* [[Geometry_package|Geometry]]<br />
* [[IO_package|I/O]]<br />
* [[Java_package|Java]]<br />
* [[Mechanics_package|Mechanics]]<br />
* [[Robotics_package|Robotics]]<br />
* [[Sockets_package|Sockets]]<br />
* [[Video_package|Video]]<br />
<br />
=== Editors & Octave ===<br />
* [[Gedit]]<br />
* [[Emacs]]<br />
* [[VIM]]<br />
* [[Kate]]<br />
<br />
=== Plotting tutorial ===<br />
All or most of the information about plotting in Octave can be found in the manual and on the internet. This information can be too scattered over different resources for a new user to find his/her way into solving a plotting problem/need. This tutorial should be considered as the 'recipe text' by examples if you consider the manual as a 'recipe ingredients only'.<br />
* [[Recap of the hierarchy of each plot element]]<br />
First of all, Octave aims at being compatible with Matlab (TM) as much as possible, so the graphics part is very similar too to Matlab. In Octave the first choice to make is the 'graphics_toolkit'. Standard is the 'gnuplot' toolkit using the Gnuplot software package (http://www.gnuplot.info). The second choice is 'fltk' (http://www.fltk.org). You might want to try to test both of them for your plotting aims to see which solves your problem. <br />
* [[Changing text elements (label, title)]]<br />
* [[More control over subplots]]<br />
<br />
=== Miscellaneous ===<br />
* [[Tips and tricks]]<br />
* [[Special:AllPages|All Pages]]<br />
* [[Publications using Octave]]<br />
<br />
== External Links ==<br />
* [http://www.gnu.org/software/octave/ Octave Homepage]<br />
* [http://octave.sourceforge.net/ Octave Forge]<br />
* [https://savannah.gnu.org/bugs/?group=octave GNU Octave - Bug Tracker]<br />
* [https://savannah.gnu.org/task/?group=octave GNU Octave - Task Tracker]<br />
* [https://savannah.gnu.org/patch/?group=octave GNU Octave - Patch Tracker]<br />
* [https://savannah.gnu.org/hg/?group=octave GNU Octave - Mercurial Repositories]<br />
* [http://planet.octave.org Planet Octave] (site summary for blogs from Octave's [http://http://code.google.com/soc/ GSoC] students)</div>Indiumhttps://wiki.octave.org/wiki/index.php?title=GNU_Octave_Wiki&diff=1465GNU Octave Wiki2012-07-13T13:47:52Z<p>Indium: I suggest to include a tutorial like explanation of the plotting capabilities.</p>
<hr />
<div>[http://www.octave.org GNU Octave] is a high-level interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other numerical experiments. It also provides extensive graphics capabilities for data visualization and manipulation. Octave is normally used through its interactive command line interface, but it can also be used to write non-interactive programs. The Octave language is quite similar to Matlab so that most programs are easily portable.<br />
<br />
This wiki is intended to supplement the [http://www.gnu.org/software/octave/doc/interpreter Octave documentation]. Before adding content, please check that it is not already part of, or belongs in, the [http://www.gnu.org/software/octave/doc/interpreter Octave's documentation].<br />
<br />
== Octave FAQ ==<br />
<br />
The [[FAQ]] is a list of frequently asked questions (FAQ) for Octave users and a good place to start.<br />
<br />
== Octave Conference 2012 ==<br />
<br />
Planning for [[OctConf 2012]] is under way. Newbies, experienced users, aspiring developers, and experienced developers are all encouraged to attend.<br />
<br />
== Table of contents ==<br />
<br />
Below is a temporary attempt to organize the "most wanted" pages of the Wiki. A list of all pages on the wiki can be seen [[Special:AllPages|here]]. To locate something specific, try the wiki's search box, or prepend {{Codeline|<nowiki>site:http://www.octave.org/wiki/</nowiki>}} to a [https://www.google.com/search?&q=site%3Ahttp%3A%2F%2Fwww.octave.org%2Fwiki google search].<br />
<br />
=== Installation Instructions for Windows, MacOS X and GNU/Linux ===<br />
* [[Octave for Windows]]<br />
* [[Installing Win32 Distribution]]<br />
* [[Octave for MacOS X]]<br />
* [[Octave for GNU/Linux]]<br />
<br />
=== Building Octave ===<br />
* [[Build from source]]<br />
* [[Mercurial (hg) cheat sheet]]<br />
* [[Tests|Testing Source Code]]<br />
* [[Octave for GNU Linux: Binary Octave packages for GNU Linux|GNU/Linux binary packages]]<br />
* [[Octave for Mac|Octave for MacOS (minimalistic)]]<br />
* [[Create a MacOS X App Bundle Using MacPorts]]<br />
* [[Enable large arrays: Build octave such that it can use arrays larger than 2Gb.|Building Octave to Use Large Arrays]]<br />
<br />
=== Octave Forge ===<br />
* [[Octave_Forge|Octave Forge and Installing Packages]]<br />
* [[Creating_packages|Creating Packages]]<br />
<br />
==== Available Packages ====<br />
* [[Dicom_package|Dicom]]<br />
* [[Geometry_package|Geometry]]<br />
* [[IO_package|I/O]]<br />
* [[Java_package|Java]]<br />
* [[Mechanics_package|Mechanics]]<br />
* [[Robotics_package|Robotics]]<br />
* [[Sockets_package|Sockets]]<br />
* [[Video_package|Video]]<br />
<br />
=== Editors & Octave ===<br />
* [[Gedit]]<br />
* [[Emacs]]<br />
* [[VIM]]<br />
* [[Kate]]<br />
<br />
=== Plotting tutorial ===<br />
* [[Recap of the hierarchy of each plot element]]<br />
* [[Changing text elements (label, title)]]<br />
* [[More control over subplots]]<br />
<br />
=== Miscellaneous ===<br />
* [[Tips and tricks]]<br />
* [[Special:AllPages|All Pages]]<br />
* [[Publications using Octave]]<br />
<br />
== External Links ==<br />
* [http://www.gnu.org/software/octave/ Octave Homepage]<br />
* [http://octave.sourceforge.net/ Octave Forge]<br />
* [https://savannah.gnu.org/bugs/?group=octave GNU Octave - Bug Tracker]<br />
* [https://savannah.gnu.org/task/?group=octave GNU Octave - Task Tracker]<br />
* [https://savannah.gnu.org/patch/?group=octave GNU Octave - Patch Tracker]<br />
* [https://savannah.gnu.org/hg/?group=octave GNU Octave - Mercurial Repositories]<br />
* [http://planet.octave.org Planet Octave] (site summary for blogs from Octave's [http://http://code.google.com/soc/ GSoC] students)</div>Indium