Publication quality graphics in MATLAB

49 visualizaciones (últimos 30 días)
Malcolm Lidierth
Malcolm Lidierth el 18 de Dic. de 2012
Comentada: Malcolm Lidierth el 17 de En. de 2014
A Java based graphics package - "Project Waterloo" - is presently being developed to provide good quality anti-aliased graphics in any environment with a Java Virtual Machine available. It is open-source LGPL code that includes MATLAB OOP wrappers providing convenient support for MATLAB programmers.
This question is to ask for feedback from potential users: are there features missing that would make this package more attractive?
For example use in MATLAB, see
The project website with zipped builds and a GIT repo is at
Here are a few screenshots:
  3 comentarios
Malcolm Lidierth
Malcolm Lidierth el 21 de Dic. de 2012
@HAC I see your point. I think that can be implemented.
Malcolm Lidierth
Malcolm Lidierth el 30 de Dic. de 2012
@HAC - now implemented in the Git repo.
Regions of interest can be added using enter+left mouse (to highlight and area), shift+right mouse (to select and display a region) or by adding a GJRoi object to a graph. The GJRoi class provides imrect-style behaviour allowing the ROI to be moved/resized.
All ROIs are fully serialisable so will be restored when loading from a file saved with them in place on the original.

Iniciar sesión para comentar.

Respuestas (2)

Image Analyst
Image Analyst el 30 de Dic. de 2012
  1. Can you give some advantages and disadvantages of using this over export_fig?
  2. When would you use Waterloo, and when would you use export_fig?
  3. Can you make bitmapped output images with arbitrarily large dimensions that you specify (i.e. more pixels than on your screen)?
  6 comentarios
Malcolm Lidierth
Malcolm Lidierth el 31 de Dic. de 2012
@Matt
Fixed dpi can be added to Waterloo. For MATLAB graphics an image processing tool would be probably be more appropriate as MATLAB is supplying the bitmap.
The GXFigure methods let you insert a function handle that exports the MATLAB graphics in the format of your choice (using e.g. export_fig) along with a MATLAB fig file and the Waterloo XML file. Java code like the Graph Explorer in Waterloo can load the exported MATLAB graphics when deserializing the XML file.
Malcolm Lidierth
Malcolm Lidierth el 19 de Mayo de 2013
Editada: Malcolm Lidierth el 19 de Mayo de 2013
The Beta version of Waterloo now also supports output of vector graphics using the Processing visual language and also automatically generates HTML files allowing those graphics to be shown on an HTML canvas using ProcessingJS.
MATLAB graphics will still be bitmapped, but the HTML files might still be useful to some uses as they can be annotated using HTML5 or Processing. Details and a download of the relevant Java code are available without the rest of Waterloo: see http://waterloo.sourceforge.net/PDEGraphics2D/.
Use within MATLAB is pretty simple, e,g. to embed a MATLAB figure:
h=get(gcc, 'JavaFrame');
jhandle=h.getFigurePanelContainer();
s=kcl.waterloo.deploy.pde.PDEGraphics2D.paint(jhandle);
s.write('myFile');
An s.append() method allows animations to be created fairly simply e.g. if the figure is changed s.append(jhandle, 1000); will update the graphics on a website after a delay of 1s.
Using the default options, as here, the output will be in a folder named '/myFile' with the following contents:
  • myFile.pde: a Processing script file
  • myFile.html: a "plain" HTML5 file
  • index.html: a styled HTML5 file
  • PDEGraphics2D.css: the stylesheet
  • processing.js: copy of the required Javascript
  • httpd.py: a Python 2.7 script (only needed if the system browser will not allow direct viewing of files from the local file system)
  • /data: a folder with required images etc. (as PNG)

Iniciar sesión para comentar.


Rookshana Trollope
Rookshana Trollope el 17 de En. de 2014
Unfortunately this does not help me much. I have produced a Matlab scatter plot in 3D. I should see 7500 points X 2 (X,Y) and (X,Z). But the graphics looks like it has 200 points. I know there are multiple populations in my data and I want to high light this by the plot. But it looks real bad and one cannot see the multiple populations at all, let alone trying to fit regression lines to them. I can see the multiple populations on my other software in 2D only and I got Matlab to be able to see them in 3D.
Is there a Matlab graphics user that I can e-mail results to - To see what I mean and maybe can help ?
  2 comentarios
Image Analyst
Image Analyst el 17 de En. de 2014
Malcolm is your man. Did you click on his name and try to contact him that way?
Malcolm Lidierth
Malcolm Lidierth el 17 de En. de 2014
Thanks IA. I have updated the broken image links above.
@Rookshana - the first of these is a cloud plot - code in the Git repo but not yet in the zip build. Waterloo is 2D only and this may not do what you need.Cloud is a minimalist scatter plot designed to be fast with lots of data points. I am not entirely sure what you are trying - would using transparency with a set of overlaid 2D plots achieve what you need (is the data 3D?)?

Iniciar sesión para comentar.

Categorías

Más información sobre Environment and Settings en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by