r10 - 03 Jun 2006 - 22:35:48 - PeterThoenyYou are here: TWiki >  Plugins Web > GnuPlotPlugin
Tags:
diagram 2 Add my vote for this tag, graphing 2 Add my vote for this tag, images 2 Add my vote for this tag, plotting 2 Add my vote for this tag, rendering 1 Add my vote for this tag, visualization 1 Add my vote for this tag, , create new tag

GnuPlotPlugin

A plugin that allows the display of GnuPlot graphs.


Syntax Rules

  • Just add %GNUPLOT{"PlotName"}% anywhere in the page where you want the plot to appear and save the topic
  • Multiple plots can be displayed within one topic
  • Any CSV (Comma Seperated Variable) file attached to the topic can be used with the plot or splot commands

Examples

The following images are examples of plots generated by GnuPlot:

Simple function test

Pre-rendered sample (TestInstall):
TestInstallSample.png
Plugin (TestInstall):
%GNUPLOT{"TestInstall"}%
Verbatim (TestInstall):
%GNUPLOT{"TestInstall"}%

Plot settings:
set title "TestInstall"
set datafile separator ","
set terminal png
plot sin(x), cos(x), x*x/10

Multi graphs with errorbars, datafile based

Pre-rendered sample (MultigraphWithErrorbars):
MultigraphWithErrorbarsSample.png
Plugin (MultigraphWithErrorbars):
%GNUPLOT{"MultigraphWithErrorbars"}%
Verbatim (MultigraphWithErrorbars):
%GNUPLOT{"MultigraphWithErrorbars"}%

Plot settings:
set title "MultigraphWithErrorbars"
set xlabel "X Axis Label"
set ylabel "Y Axis Label"
set term gif
set data style lp
set terminal png
plot [.8:4.2] "MultigraphWithErrorbarsData.data" using 1:2 t "Curve Title", \
"MultigraphWithErrorbarsData.data" using 1:2:3:4 notitle with errorbars ps 0, \
"MultigraphWithErrorbarsData.data" using 1:5 t "Other Curve", \
"MultigraphWithErrorbarsData.data" using 1:5:6:7 notitle with errorbars ps 0

Damped sinus, datafile based

Pre-rendered sample (DampedSinus):
DampedSinusSample.png
Plugin (DampedSinus):
%GNUPLOT{"DampedSinus"}%
Verbatim (DampedSinus):
%GNUPLOT{"DampedSinus"}%

Plot settings:
set title "DampedSinus"
set xlabel "X Axis Label"
set ylabel "Y Axis Label"
set terminal png
plot 'DampedSinusData.data'

Map of Denmark, datafile based (data from CIA World Data Bank II)

Pre-rendered sample (CIAWorldDataBankIIDenmark):
CIAWorldDataBankIIDenmarkSample.png
Plugin (CIAWorldDataBankIIDenmark):
%GNUPLOT{"CIAWorldDataBankIIDenmark"}%
Verbatim (CIAWorldDataBankIIDenmark):
%GNUPLOT{"CIAWorldDataBankIIDenmark"}%

Plot settings:
set title "CIAWorldDataBankIIDenmark"
set noxtics
set noytics
set noborder
set data style dots
set terminal png
plot "CIAWorldDataBankIIDenmarkData.data" title "" with lines 

Interlocking Tori (3D)

Pre-rendered sample (InterlockingTori):
InterlockingToriSample.png
Plugin (InterlockingTori):
%GNUPLOT{"InterlockingTori"}%
Verbatim (InterlockingTori):
%GNUPLOT{"InterlockingTori"}%

Plot settings:
set parametric
set isosamples 50,10
set hidden
set title "Interlocking Tori"
set key below
set urange [-pi:pi]
set vrange [-pi:pi]
set isosamples 50,20
set terminal png
splot cos(u)+.5*cos(u)*cos(v),sin(u)+.5*sin(u)*cos(v),.5*sin(v) with lines, 1+cos(u)+.5*cos(u)*cos(v),.5*sin(v),sin(u)+.5*sin(u)*cos(v) with lines

Blue Whale (3D), datafile based

Pre-rendered sample (BlueWhale):
BlueWhaleSample.png
Plugin (BlueWhale):
%GNUPLOT{"BlueWhale"}%
Verbatim (BlueWhale):
%GNUPLOT{"BlueWhale"}%

Plot settings:
set parametric
set hidden3d
set nokey
set xrange [0:8]
set yrange [-4:4]
set zrange [-2:2]
set data style line
set title "Blue Whale"
set terminal png
splot "whale.dat"

Alternative GnuPlot render sizes, Rosenbrock Function

This one is shown in 350x280. Try blowing it up in size - alter the set terminal png size 350,280 line into something larger (i.e. 1000,1000).

Pre-rendered sample (RosenbrockFunction):
RosenbrockFunctionSample.png
Plugin (RosenbrockFunction):
%GNUPLOT{"RosenbrockFunction"}%
Verbatim (RosenbrockFunction):
%GNUPLOT{"RosenbrockFunction"}%

Plot settings:
set logscale z 10
set view 20, 340, 1, 1
set isosamples 60, 60
set hidden3d offset 1 trianglepattern 3 undefined 1 altdiagonal bentover
set style data lines
set ticslevel 0
set title "Rosenbrock Function" 0.000000,0.000000  font ""
set xlabel "x" -5.000000,-2.000000  font ""
set xrange [ * : * ] noreverse nowriteback  # (currently [0.00000:15.0000] )
set ylabel "y" 4.000000,-1.000000  font ""
set yrange [ * : * ] noreverse nowriteback  # (currently [0.00000:15.0000] )
set zlabel "Z axis" 0.000000,0.000000  font ""
set zrange [ * : * ] noreverse nowriteback  # (currently [-1.20000:1.20000] )
set terminal png size 350,280
splot [-1.5:1.5] [-0.5:1.5] (1-x)**2 + 100*(y - x**2)**2

Plugin Settings

  • One line description, is shown in the TextFormattingRules topic:
  • Set SHORTDESCRIPTION = Allows users to plot data and functions using GnuPlot

  • Debug plugin: (See output in data/debug.txt)
  • Set DEBUG = 0

Plugin Installation Instructions

Note: You do not need to install anything on the browser to use this plugin. The following instructions are for the administrator who installs the plugin on the server where TWiki is running.

  • Download the ZIP file from the Plugin web (see below)

  • Download the ZIP file from the Plugin web (see below)
  • Unzip GnuPlotPlugin.zip in your twiki installation directory.
    Content:
    File: Description:
    data/TWiki/GnuPlotPlugin.txt Plugin topic
    data/TWiki/GnuPlotPlugin.txt,v Plugin topic repository
    lib/TWiki/Plugins/GnuPlotPlugin.pm Plugin Perl module
    lib/TWiki/Plugins/GnuPlotPlugin/Plot.pm Perl module responsible for rendering the plot area
    lib/TWiki/Plugins/GnuPlotPlugin/PlotSettings.pm Perl module responsible for managing the settings

  • In /lib/TWiki/Plugins/GnuPlotPlugin/Plot.pm look for the following line and update the paths to fit your environment:
    # Update $gnuplotPath, $gnuplotHelperPath and $execCmd to fit your environment

Planned improvements

  • TWiki compatible syntax for using datafiles from any topic.
  • Form based editing of plot settings to make it easier for users that are not familiar with GnuPlot?

Plugin Info

Plugin Author: TWiki:Main.AbieSwanepoel
Plugin Version: 30 Apr 2006: (V1.030)
Change History:
30 Apr 2006: Added sandbox security mechanism (TWiki:Main.SteffenPoulsen)
19 Apr 2006: Fixed anchors, added 3D examples, added png size option (TWiki:Main.SteffenPoulsen)
17 Apr 2006: Doc update, changed working dir to ATTACHURLPATH (TWiki:Main.SteffenPoulsen)
27 Jan 2006: Initial version
TWiki Dependency: $TWiki::Plugins::VERSION 1.1
CPAN Dependencies: none
Other Dependencies: GnuPlot (available from http://www.gnuplot.info) with support for a PNG terminal
Perl Version: 5.005
License: GPL ( GNU General Public License)
Benchmarks: GoodStyle 100%, FormattedSearch 100%, GnuPlotPlugin 100%
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/GnuPlotPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/GnuPlotPluginDev
Appraisal: http://TWiki.org/cgi-bin/view/Plugins/GnuPlotPluginAppraisal

Related Topics: TWikiPreferences, TWikiPlugins

-- TWiki:Main.AbieSwanepoel - 27 Jan 2006

Topic attachments
I Attachment Action Size Date Who Comment
elsemd5 GnuPlotPlugin.md5 manage 0.2 K 02 May 2006 - 18:44 SteffenPoulsen md5 checksums
ziptgz GnuPlotPlugin.tgz manage 480.5 K 02 May 2006 - 18:44 SteffenPoulsen Untar and run the installer script, if there is one
zipzip GnuPlotPlugin.zip manage 492.8 K 02 May 2006 - 18:44 SteffenPoulsen unzip, correct the permissions, and run the installer script, if there is one
Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r10 < r9 < r8 < r7 < r6 | More topic actions
 
Powered by TWiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback SourceForge.net Logo