Plot comparison: Difference between revisions

From Octave
Jump to navigation Jump to search
(fix filenames after cset b8934a57e13e)
m (fix filename after cs b8934a57e13e)
Line 5: Line 5:
== needs some work ==
== needs some work ==


* [http://tech-chat.de/compare_plot_demos/gnuplot/area_01.png gnuplot] + [http://tech-chat.de/compare_plot_demos/fltk/area_01.png fltk] area_01_1: draws a green background, [http://tech-chat.de/compare_plot_demos/matlab/area_01.png Matlab] a red one. The FLTK plot furthermore shows tiny vertical white stripes.
* [http://tech-chat.de/compare_plot_demos/gnuplot/area_01.png gnuplot] + [http://tech-chat.de/compare_plot_demos/fltk/area_01.png fltk] area_01: draws a green background, [http://tech-chat.de/compare_plot_demos/matlab/area_01.png Matlab] a red one. The FLTK plot furthermore shows tiny vertical white stripes.


* [http://tech-chat.de/compare_plot_demos/gnuplot/colorbar_23.png gnuplot] + [http://tech-chat.de/compare_plot_demos/fltk/colorbar_23.png fltk] colorbar_23_1: xtick unreadable. It should check the text_extent and reduce xticks if the xlabels would overlap.
* [http://tech-chat.de/compare_plot_demos/gnuplot/colorbar_23.png gnuplot] + [http://tech-chat.de/compare_plot_demos/fltk/colorbar_23.png fltk] colorbar_23: xtick unreadable. It should check the text_extent and reduce xticks if the xlabels would overlap.


* [http://tech-chat.de/compare_plot_demos/gnuplot/colorbar_01.png gnuplot] + [http://tech-chat.de/compare_plot_demos/fltk/colorbar_01.png fltk] colorbar* : This is just a matter of taste but I (Andy1978) would prefer a  smaller gap (only 40% of the current implementation?) between colorbar and the plot like [http://tech-chat.de/compare_plot_demos/matlab/colorbar_01.png matlab] does.  
* [http://tech-chat.de/compare_plot_demos/gnuplot/colorbar_01.png gnuplot] + [http://tech-chat.de/compare_plot_demos/fltk/colorbar_01.png fltk] colorbar* : This is just a matter of taste but I (Andy1978) would prefer a  smaller gap (only 40% of the current implementation?) between colorbar and the plot like [http://tech-chat.de/compare_plot_demos/matlab/colorbar_01.png matlab] does.  


* [http://tech-chat.de/compare_plot_demos/fltk/colorbar_19.png fltk] colorbar_19_01.png : unusable colorbar with FLTK ([http://savannah.gnu.org/bugs/?42311 bug#42311]) when log scale is set, fine with [http://tech-chat.de/compare_plot_demos/gnuplot/colorbar_19.png gnuplot]
* [http://tech-chat.de/compare_plot_demos/fltk/colorbar_19.png fltk] colorbar_19.png : unusable colorbar with FLTK ([http://savannah.gnu.org/bugs/?42311 bug#42311]) when log scale is set, fine with [http://tech-chat.de/compare_plot_demos/gnuplot/colorbar_19.png gnuplot]


* gnuplot + ftlk: fill_01_1, fill_02_1: hidden edges keep visible in ML, not with fltk or gnuplot. This seems to be a ML bug when printing to PNG or JPEG and works (same output like gnuplot+fltk) when printing to ps. In FLTK the on-screen images shows the hidden edge and becomes invisible when printing.
* gnuplot + ftlk: fill_01, fill_02: hidden edges keep visible in ML, not with fltk or gnuplot. This seems to be a ML bug when printing to PNG or JPEG and works (same output like gnuplot+fltk) when printing to ps. In FLTK the on-screen images shows the hidden edge and becomes invisible when printing.


* [http://tech-chat.de/compare_plot_demos/gnuplot/hold_07.png gnuplot] + [http://tech-chat.de/compare_plot_demos/fltk/hold_07.png fltk]: hold_07_1: red rectangle hides the '^' plot markers. In ML they disappear on-screen as soon as xlim is changed or zoomed. Is this a ML bug? What is the prefered behaviour?
* [http://tech-chat.de/compare_plot_demos/gnuplot/hold_07.png gnuplot] + [http://tech-chat.de/compare_plot_demos/fltk/hold_07.png fltk]: hold_07: red rectangle hides the '^' plot markers. In ML they disappear on-screen as soon as xlim is changed or zoomed. Is this a ML bug? What is the prefered behaviour?


* [http://tech-chat.de/compare_plot_demos/gnuplot/shrinkfaces_04.png gnuplot] + [http://tech-chat.de/compare_plot_demos/fltk/shrinkfaces_04.png fltk] shrinkfaces_04_1: shows "inverted?/outer faces", completly different from [http://tech-chat.de/compare_plot_demos/matlab/shrinkfaces_04.png matlab]
* [http://tech-chat.de/compare_plot_demos/gnuplot/shrinkfaces_04.png gnuplot] + [http://tech-chat.de/compare_plot_demos/fltk/shrinkfaces_04.png fltk] shrinkfaces_04: shows "inverted?/outer faces", completly different from [http://tech-chat.de/compare_plot_demos/matlab/shrinkfaces_04.png matlab]


* [http://tech-chat.de/compare_plot_demos/fltk/text_03_01.png fltk] text_03_01: can't print multi-line text objects [http://savannah.gnu.org/bugs/?31468 bug#31468]
* [http://tech-chat.de/compare_plot_demos/fltk/text_03_01.png fltk] text_03: can't print multi-line text objects [http://savannah.gnu.org/bugs/?31468 bug#31468]


== gnuplot only differences ==
== gnuplot only differences ==
Line 28: Line 28:
Nevertheless here are some visual '''gnuplot ONLY''' problems which need some attention:
Nevertheless here are some visual '''gnuplot ONLY''' problems which need some attention:


* [http://tech-chat.de/compare_plot_demos/gnuplot/fill_03.png gnuplot] fill_03_1: unusable
* [http://tech-chat.de/compare_plot_demos/gnuplot/fill_03.png gnuplot] fill_03: unusable


* [http://tech-chat.de/compare_plot_demos/gnuplot/ezsurf_02.png gnuplot] ezsurf_02_1: distorted despite "axis equal"
* [http://tech-chat.de/compare_plot_demos/gnuplot/ezsurf_02.png gnuplot] ezsurf_02: distorted despite "axis equal"


* [http://tech-chat.de/compare_plot_demos/gnuplot/isosurface_01.png gnuplot] isosurface_01_1: wrong scale, edges missing
* [http://tech-chat.de/compare_plot_demos/gnuplot/isosurface_01.png gnuplot] isosurface_01: wrong scale, edges missing


* [http://tech-chat.de/compare_plot_demos/gnuplot/trimesh_01.png gnuplot] trimesh_01_1: invisible lines [http://savannah.gnu.org/bugs/?42561 bug#42561]. [http://tech-chat.de/compare_plot_demos/fltk/trimesh_01.png FLTK] plot is fine.
* [http://tech-chat.de/compare_plot_demos/gnuplot/trimesh_01.png gnuplot] trimesh_01: invisible lines [http://savannah.gnu.org/bugs/?42561 bug#42561]. [http://tech-chat.de/compare_plot_demos/fltk/trimesh_01.png FLTK] plot is fine.


* [http://tech-chat.de/compare_plot_demos/gnuplot/zlim_03.png gnuplot] zlim_03_1: Warning/Error "line 0: *All* edges undefined or out of range, thus no plot." and an empty plot (as announced). [http://tech-chat.de/compare_plot_demos/fltk/zlim_03.png FLTK] plot is fine.
* [http://tech-chat.de/compare_plot_demos/gnuplot/zlim_03.png gnuplot] zlim_03: Warning/Error "line 0: *All* edges undefined or out of range, thus no plot." and an empty plot (as announced). [http://tech-chat.de/compare_plot_demos/fltk/zlim_03.png FLTK] plot is fine.


== work in progress ==
== work in progress ==
Line 46: Line 46:
* colorbar ticks: http://hg.savannah.gnu.org/hgweb/octave/rev/04a00ba54557
* colorbar ticks: http://hg.savannah.gnu.org/hgweb/octave/rev/04a00ba54557


* gnuplot + fltk compass_01_1: no proper scaling/zoom: A changeset from Stefan Mahr fixing a different part of polar() also solves the auto-scaling issue with compass().  See http://hg.savannah.gnu.org/hgweb/octave/rev/cff49c82f722.
* gnuplot + fltk compass_01: no proper scaling/zoom: A changeset from Stefan Mahr fixing a different part of polar() also solves the auto-scaling issue with compass().  See http://hg.savannah.gnu.org/hgweb/octave/rev/cff49c82f722.


* The right axis of the [http://tech-chat.de/compare_plot_demos/gnuplot/pareto_01.png Pareto plot] was being drawn in a different color from the left axis. http://hg.savannah.gnu.org/hgweb/octave/rev/f1e21a495e20
* The right axis of the [http://tech-chat.de/compare_plot_demos/gnuplot/pareto_01.png Pareto plot] was being drawn in a different color from the left axis. http://hg.savannah.gnu.org/hgweb/octave/rev/f1e21a495e20


* [http://tech-chat.de/compare_plot_demos/matlab/patch_04.png gnuplot] + [http://tech-chat.de/compare_plot_demos/fltk/patch_04.png fltk] patch_04_1: the demo incorrectly assumes the patch "facecolor" is "flat" as octave currently sets this by default (whereas in matlab "facecolor" is "none" by default). This should be fixed with [http://savannah.gnu.org/bugs/index.php?42159 bug#42159] (this probably is also the cause for black faces in shrinkfaces*)
* [http://tech-chat.de/compare_plot_demos/matlab/patch_04.png gnuplot] + [http://tech-chat.de/compare_plot_demos/fltk/patch_04.png fltk] patch_04: the demo incorrectly assumes the patch "facecolor" is "flat" as octave currently sets this by default (whereas in matlab "facecolor" is "none" by default). This should be fixed with [http://savannah.gnu.org/bugs/index.php?42159 bug#42159] (this probably is also the cause for black faces in shrinkfaces*)


== won't fix or Octave only feature ==
== won't fix or Octave only feature ==
Line 56: Line 56:
* fltk/ML axis_09, axis_10, axis_11, axis_12, axis_13:  No, [x,y]axislocation' 'zero' (http://savannah.gnu.org/bugs/?40588). This is an Octave (and gnuplot) only feature. We can either blacklist, or visually skip over the comparison since it is blank for Matlab. Perhaps should be removed from demos or blacklist axis_09 in dump.m script
* fltk/ML axis_09, axis_10, axis_11, axis_12, axis_13:  No, [x,y]axislocation' 'zero' (http://savannah.gnu.org/bugs/?40588). This is an Octave (and gnuplot) only feature. We can either blacklist, or visually skip over the comparison since it is blank for Matlab. Perhaps should be removed from demos or blacklist axis_09 in dump.m script


* matlab comet3_01_1, comet_01.png: Only the beginning of the animation is printed. Matlab implements comet in a completely different way which means printing isn't really possible for them.
* matlab comet3_01, comet.png: Only the beginning of the animation is printed. Matlab implements comet in a completely different way which means printing isn't really possible for them.


* matlab polar_03_1, polar_05_1: Modifying ticks for rho (rticks) and theta (tticks) is an Octave addition.
* matlab polar_03, polar_05: Modifying ticks for rho (rticks) and theta (tticks) is an Octave addition.


* matlab polar_04_1: Modifying color and text properties in polar plot is an Octave addition.
* matlab polar_04: Modifying color and text properties in polar plot is an Octave addition.


* Multiple Matlab plots with "Error in color/linetype argument". This is because adding legend keys with ";" in plot like "plot(1:10, "; a ramp;)" is an Octave only addition.
* Multiple Matlab plots with "Error in color/linetype argument". This is because adding legend keys with ";" in plot like "plot(1:10, "; a ramp;)" is an Octave only addition.

Revision as of 20:59, 15 July 2014

Visual comparison of plot files from http://tech-chat.de/compare_plot_demos/. You can find the scripts which are used to create these plots in the default branch in scripts/testfun/private.

Here is the generated fltk/dump.m as example.

needs some work

  • gnuplot + fltk area_01: draws a green background, Matlab a red one. The FLTK plot furthermore shows tiny vertical white stripes.
  • gnuplot + fltk colorbar_23: xtick unreadable. It should check the text_extent and reduce xticks if the xlabels would overlap.
  • gnuplot + fltk colorbar* : This is just a matter of taste but I (Andy1978) would prefer a smaller gap (only 40% of the current implementation?) between colorbar and the plot like matlab does.
  • fltk colorbar_19.png : unusable colorbar with FLTK (bug#42311) when log scale is set, fine with gnuplot
  • gnuplot + ftlk: fill_01, fill_02: hidden edges keep visible in ML, not with fltk or gnuplot. This seems to be a ML bug when printing to PNG or JPEG and works (same output like gnuplot+fltk) when printing to ps. In FLTK the on-screen images shows the hidden edge and becomes invisible when printing.
  • gnuplot + fltk: hold_07: red rectangle hides the '^' plot markers. In ML they disappear on-screen as soon as xlim is changed or zoomed. Is this a ML bug? What is the prefered behaviour?
  • gnuplot + fltk shrinkfaces_04: shows "inverted?/outer faces", completly different from matlab

gnuplot only differences

There are a lot of gnuplot differences and it might be nice to fix those, but someone would have to take an interest. Octave is moving towards OpenGL for all plotting so most developers focuses on bug fixes for that toolkit.

Nevertheless here are some visual gnuplot ONLY problems which need some attention:

  • gnuplot ezsurf_02: distorted despite "axis equal"
  • gnuplot isosurface_01: wrong scale, edges missing
  • gnuplot zlim_03: Warning/Error "line 0: *All* edges undefined or out of range, thus no plot." and an empty plot (as announced). FLTK plot is fine.

work in progress

  • plotyy_03: chunky dashed line for the '--' linestyle: Thread on ML

fixed

  • gnuplot + fltk patch_04: the demo incorrectly assumes the patch "facecolor" is "flat" as octave currently sets this by default (whereas in matlab "facecolor" is "none" by default). This should be fixed with bug#42159 (this probably is also the cause for black faces in shrinkfaces*)

won't fix or Octave only feature

  • fltk/ML axis_09, axis_10, axis_11, axis_12, axis_13: No, [x,y]axislocation' 'zero' (http://savannah.gnu.org/bugs/?40588). This is an Octave (and gnuplot) only feature. We can either blacklist, or visually skip over the comparison since it is blank for Matlab. Perhaps should be removed from demos or blacklist axis_09 in dump.m script
  • matlab comet3_01, comet.png: Only the beginning of the animation is printed. Matlab implements comet in a completely different way which means printing isn't really possible for them.
  • matlab polar_03, polar_05: Modifying ticks for rho (rticks) and theta (tticks) is an Octave addition.
  • matlab polar_04: Modifying color and text properties in polar plot is an Octave addition.
  • Multiple Matlab plots with "Error in color/linetype argument". This is because adding legend keys with ";" in plot like "plot(1:10, "; a ramp;)" is an Octave only addition.