

Dear Tony,
Thank you for your answer. For what I know, usually stacked bar would look like this (same data in excel):
The negative value block would be in the negative side and the positive value on the positive side, without overlap.
Kind regards, Olivier
 Olivier Thomann
Senior Researcher Innovation, Discovery and External Collaboration
Neste Corporation Technology Centre, Kilpilahti POB 310 06101 Porvoo, Finland Mobile +358 (0)40 338 0371
This email and any further emails from the Neste Corporation or any of its employees, directors or other representatives, including any file(s) transmitted with such messages ("message") may be confidential and intended solely for the entity or individual to whom it is addressed or to whom the sender intended to address it. If you are not the intended recipient of this or any following message, please contact the sender immediately upon receipt of the message and delete the message from your system without reproducing, distributing or retaining copies thereof or using or disclosing the information contained therein. Thank you. Due to the insecure nature of this medium, this or any following message may have been altered without the knowledge of sender. The sender will therefore not be liable for the message if modified.


On Mon, Apr 20, 2020 at 12:53 AM Olivier Thomann < [hidden email]> wrote:
Dear Tony,
Thank you for your answer. For what I know, usually stacked bar would look like this (same data in excel):
The negative value block would be in the negative side and the positive value on the positive side, without overlap.
Kind regards, Olivier

Hi Olivier, Octave's stacked option appears to work differently than Excel. I prefer Octave's behavior (although it would be considered a bug if it differs from MATLAB, I don't have MATLAB to check). It appears that you can get the plot you want by plotting the positive and negative values separately:
z=[1 2 3; 4 3 1] zt = z; zt(zt<0) = 0 h = bar (zt, 'stacked'); hold on zt = z; zt(zt>0) = 0 h = bar (zt, 'stacked'); hold off
Tony


On Mon, Apr 20, 2020 at 7:23 AM Tony Richardson < [hidden email]> wrote: On Mon, Apr 20, 2020 at 12:53 AM Olivier Thomann < [hidden email]> wrote:
Dear Tony,
Thank you for your answer. For what I know, usually stacked bar would look like this (same data in excel):
The negative value block would be in the negative side and the positive value on the positive side, without overlap.
Kind regards, Olivier

Hi Olivier, Octave's stacked option appears to work differently than Excel. I prefer Octave's behavior (although it would be considered a bug if it differs from MATLAB, I don't have MATLAB to check). It appears that you can get the plot you want by plotting the positive and negative values separately:
z=[1 2 3; 4 3 1] zt = z; zt(zt<0) = 0 h = bar (zt, 'stacked'); hold on zt = z; zt(zt>0) = 0 h = bar (zt, 'stacked'); hold off
Tony
FYI. Octave's behavior is consistent with MATLAB's,
Tony

Administrator

Octave's stacked option appears to work differently than Excel. I prefer Octave's behavior (although it would be considered a bug if it differs from MATLAB, I don't have MATLAB to check).
Confirming that Octave's behavior is not matlab compatible. running both Olivier's and Tony's code in both octave 5.2.0 and Matlab 2020a, tony's code looks identical in each (except for colormap), Olivier's code in Matlab looks identical to Tony's (except the negative part is a different color), while Olivier's code in Octave has the negative bar overlapping the rest of the chart.
should probably be captured in a compatibility bug report. If a search doesn't turn up an existing one I'll file one with all of the images for comparison.

Administrator

should probably be captured in a compatibility bug report. If a search doesn't turn up an existing one I'll file one with all of the images for comparison.
bug 58216 submitted

Administrator

Hi Olivier, Octave's stacked option appears to work differently than Excel. I prefer Octave's behavior (although it would be considered a bug if it differs from MATLAB, I don't have MATLAB to check). It appears that you can get the plot you want by plotting the positive and negative values separately:
z=[1 2 3; 4 3 1] zt = z; zt(zt<0) = 0 h = bar (zt, 'stacked'); hold on zt = z; zt(zt>0) = 0 h = bar (zt, 'stacked'); hold off
Tony
FYI. Octave's behavior is consistent with MATLAB's,
Tony
only for your code. his original code does produce different results in Matlab and Octave.


Ahh, I compared against MATLAB 2018a in which Octave and MATLAB produced similar graphs for all code..
Tony On Mon, Apr 20, 2020 at 11:18 AM Nicholas Jankowski < [hidden email]> wrote: should probably be captured in a compatibility bug report. If a search doesn't turn up an existing one I'll file one with all of the images for comparison.
bug 58216 submitted


On Mon, Apr 20, 2020 at 11:50 AM Nicholas Jankowski < [hidden email]> wrote:
Hi Olivier, Octave's stacked option appears to work differently than Excel. I prefer Octave's behavior (although it would be considered a bug if it differs from MATLAB, I don't have MATLAB to check). It appears that you can get the plot you want by plotting the positive and negative values separately:
z=[1 2 3; 4 3 1] zt = z; zt(zt<0) = 0 h = bar (zt, 'stacked'); hold on zt = z; zt(zt>0) = 0 h = bar (zt, 'stacked'); hold off
Tony
FYI. Octave's behavior is consistent with MATLAB's,
Tony
only for your code. his original code does produce different results in Matlab and Octave.
Apparently this was a change introduced in MATLAB 2019b, quoting from the release notes:
"Stacked groups of bars display negative bars below zero, rather than overlapping the bars."
Tony

Administrator

Apparently this was a change introduced in MATLAB 2019b, quoting from the release notes:
"Stacked groups of bars display negative bars below zero, rather than overlapping the bars."
good catch. missed that.

Administrator

On Mon, Apr 20, 2020 at 1:02 PM Nicholas Jankowski < [hidden email]> wrote: Apparently this was a change introduced in MATLAB 2019b, quoting from the release notes:
"Stacked groups of bars display negative bars below zero, rather than overlapping the bars."
good catch. missed that.
Actually, where is that? I see numerous references to it on the Matlab 2019b release notes in the Graphics section, but it's not there (anymore?). it is in the current function help, though.


On Mon, Apr 20, 2020 at 12:10 PM Nicholas Jankowski < [hidden email]> wrote: On Mon, Apr 20, 2020 at 1:02 PM Nicholas Jankowski < [hidden email]> wrote: Apparently this was a change introduced in MATLAB 2019b, quoting from the release notes:
"Stacked groups of bars display negative bars below zero, rather than overlapping the bars."
good catch. missed that.
Actually, where is that? I see numerous references to it on the Matlab 2019b release notes in the Graphics section, but it's not there (anymore?). it is in the current function help, though.
Tony

