Plot comparison: Difference between revisions

From Octave
Jump to navigation Jump to search
(→‎FLTK, Qt: link to bug 40588)
(17 intermediate revisions by 3 users not shown)
Line 12: Line 12:
You can find the scripts which are used to create these plots in scripts/testfun/private.
You can find the scripts which are used to create these plots in scripts/testfun/private.


== FLTK, Qt ==
== Qt ==


* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#axis_09 axis_09,10,11,12, 13: No XAxisLocation zero] ({{bug |40588}}
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#axis_09 axis_09,10,11,12, 13: No XAxisLocation zero] ({{bug |40588}} and {{bug |48562}}) since Matlab R2016a now supports "origin", this should be considered as an compatibility bug
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_02.html#copyobj_01 copyobj_01: Second line, legend and marker missing]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_02.html#copyobj_01 copyobj_01: Second line, legend and marker missing]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_02.html#colorbar_19 colorbar_19: no colorbar]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_02.html#colorbar_19 colorbar_19: no colorbar]
Line 21: Line 21:
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_03.html#fill_01 fill_01: Hidden edge is visible]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_03.html#fill_01 fill_01: Hidden edge is visible]


== gnuplot ==
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_07.html#stem_06 stem_06: Vertical lines to the marker missing]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_07.html#stem_07 stem_07: Vertical lines to the marker missing]


Cset http://hg.savannah.gnu.org/hgweb/octave/rev/283d8dfcad37 xaxislocation zero/origin
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_07.html#shrinkfaces_02 shrinkfaces_02: wrong zoom]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_07.html#shrinkfaces_04 shrinkfaces_04: wrong zoom]


== gnuplot 4.6 ==
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.
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#annotation_01 annotation_01: Circle is missing]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#annotation_02 annotation_02: gnuplot boxes are wrong]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#annotation_02 annotation_02: gnuplot boxes are wrong]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#annotation_05 annotation_05: gnuplot uses dotted lines instead of solid line]
* <strike>[http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#annotation_05 annotation_05: gnuplot uses dotted lines instead of solid line]</strike>
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#annotation_06 annotation_06: annotation is shifted]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#annotation_06 annotation_06: annotation is shifted]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#area_01 area_01: legend is cutted]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#area_01 area_01: legend is cutted]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#axis_02 axis_02: xy plot yaxis inverted]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#axis_02 axis_02: xy plot yaxis inverted]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#autumn_01 autumn_01: y-axis inverted + no color]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#colorbar_01 colorbar_01: inverted colorbar]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#colorbar_01 colorbar_01: inverted colorbar]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#colorbar_02 colorbar_02: horizontally swapped colorbar]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#colorbar_02 colorbar_02: horizontally swapped colorbar]
Line 39: Line 48:
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_03.html#fill_03 fill_03: no gradient]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_03.html#fill_03 fill_03: no gradient]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_03.html#hot_01 hot_01: lower plot yaxis inverted]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_03.html#hot_01 hot_01: lower plot yaxis inverted]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_07.html#shrinkfaces_02 shrinkfaces_02: wrong vertexes]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_07.html#shrinkfaces_04 shrinkfaces_04: wrong vertexes]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_08.html#trimesh_01 trimesh_01: invisible lines. Qt plot is fine.] {{ bug |42561}}


== FLTK, Qt, gnuplot ==
== Qt and gnuplot (independent of the used graphics_toolkit)==


* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#annotation_03 annotation_03: currently not all "headstyle" properties implemented which matlab has]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#annotation_03 annotation_03: currently not all "headstyle" properties implemented which matlab has]
Line 48: Line 60:
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_02.html#colorbar_23 colorbar_23: xtick unreadable. It should check the text_extent and reduce xticks if the xlabels would overlap]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_02.html#colorbar_23 colorbar_23: xtick unreadable. It should check the text_extent and reduce xticks if the xlabels would overlap]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#colorbar_01 colorbar_01: 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]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#colorbar_01 colorbar_01: 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]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_02.html#bar_01 bar_01: Bars heights difference between octave and matlab]


== Matlab errors due to incompatibilities ==
== Matlab errors due to incompatibilities ==


* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#autumn_01 autumn_01: Error using rgbplot. Too many input arguments.]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#axis_03 axis_03: Error using axis (line 204). Unknown command option ticx.]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#axis_03 axis_03: Error using axis (line 204). Unknown command option ticx.]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#axis_04 axis_04: Error using plot. Error in color/linetype argument.]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#axis_04 axis_04: Error using plot. Error in color/linetype argument.]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#axis_06 axis_06: Undefined function 'sombrero']
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#axis_09 axis_09,10,11,12, 13: No XAxisLocation zero]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#bone_01 bone_01: Error using rgbplot. Too many input arguments.]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#brighten_01 brighten_01: Error using axis (line 204). Unknown command option ticy.]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html#brighten_01 brighten_01: Error using axis (line 204). Unknown command option ticy.]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_02.html#colorbar_19 colorbar_19: Error using matlab.graphics.illustration.ColorBar/set. There is no yscale property on the ColorBar class.]
* [http://josoansi.de/octave_plot_compare/compare_plot_demos_02.html#colorbar_19 colorbar_19: Error using matlab.graphics.illustration.ColorBar/set. There is no yscale property on the ColorBar class.]
= old results, should be rechecked and merged =
* shrinkfaces_04: shows "inverted?/outer faces", completly different from matlab
* text_03: can't print multi-line text objects [http://savannah.gnu.org/bugs/?31468 bug#31468]
* colorbar_20: Latex label 10^{2}, 10^{1.5} not in print output. See bugs #42988, #42320, #42340 which are mostly duplicates
== 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:
* fill_03: unusable
* ezsurf_02: distorted despite "axis equal"
* isosurface_01: wrong scale, edges missing
* trimesh_01: invisible lines [http://savannah.gnu.org/bugs/?42561 bug#42561]. FLTK plot is fine.
* 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.


== won't fix or Octave only feature ==
== 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 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_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.
* 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 21:49, 27 August 2016

Visual comparison of plot files from http://josoansi.de/octave_plot_compare/compare_plot_demos_01.html until compare_plot_demos_0_08.html

You can find the scripts which are used to create these plots in scripts/testfun/private.

Qt

gnuplot 4.6

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.

Qt and gnuplot (independent of the used graphics_toolkit)

Matlab errors due to incompatibilities

won't fix or Octave only feature

  • 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.