Publication quality graphics in MATLAB

조회 수: 107(최근 30일)
Malcolm Lidierth
Malcolm Lidierth 2012년 12월 18일
댓글: Malcolm Lidierth 2014년 1월 17일
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
Malcolm Lidierth
Malcolm Lidierth 2012년 12월 30일
@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.

댓글을 달려면 로그인하십시오.

답변(2개)

Image Analyst
Image Analyst 2012년 12월 30일
  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
Malcolm Lidierth
Malcolm Lidierth 2013년 5월 19일
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)

댓글을 달려면 로그인하십시오.


Rookshana Trollope
Rookshana Trollope 2014년 1월 17일
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
Malcolm Lidierth
Malcolm Lidierth 2014년 1월 17일
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?)?

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

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

Start Hunting!

Translated by