After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 697107 - incorrect reading of data
incorrect reading of data
Status: RESOLVED FIXED
Product: Gnumeric
Classification: Applications
Component: Charting
git master
Other Linux
: Normal normal
: ---
Assigned To: Jean Bréfort
Jody Goldberg
Depends on:
Blocks:
 
 
Reported: 2013-04-02 14:06 UTC by Frédéric Parrenin
Modified: 2013-04-04 16:58 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
.gnumeric file to reproduce the problem (2.57 KB, application/x-gnumeric)
2013-04-02 14:06 UTC, Frédéric Parrenin
Details

Description Frédéric Parrenin 2013-04-02 14:06:16 UTC
In the attached .gnumeric file, the use of the transpose function in the definition of the chart data is supposed to imply a reading of the data by columns and not by rows. This works, but it seems only the first column is read.
Is this a bug or are we suppose to specify the size of the matrix somewhere?
Comment 1 Frédéric Parrenin 2013-04-02 14:06:48 UTC
Created attachment 240386 [details]
.gnumeric file to reproduce the problem
Comment 2 Andreas J. Guelzow 2013-04-02 14:17:20 UTC
You have only defined one series. Why would you expect to see more than that?
Comment 3 Jean Bréfort 2013-04-02 14:32:26 UTC
Andreas, remove the transpose calls and see how things look. Some points are incorrectly displayes at (0,0) actually.
Comment 4 Frédéric Parrenin 2013-04-03 14:53:12 UTC
When a serie contains empty cells, these imply line breaks.
Hence three different lines are expected in the example provided, since it contains 3 empty cells.
Comment 5 Andreas J. Guelzow 2013-04-04 00:55:10 UTC
It would probably be useful to document the desired behaviour in the Gnumeric documentation.

It may be true that "when a series contains empty cells, these imply line breaks" but I cannot see any reason why that would be the desired or even the target behaviour. For me the sample file looks completely reasonable. The behaviour I see if I remove the "transpose" does not look reasonable.

We should also note that 'transpose' is a matrix operation. The result of that operation does not have any 'empty cells'. The 'empty cells' in the input to TRANSPOSE turn into 0s this is consistetn with this being a matrix function, rather than a function that rearranges cell regions.
Comment 6 Frédéric Parrenin 2013-04-04 09:15:33 UTC
There are many situations when you want missing data to be represented by line breaks in a chart.
If you have to enter n different series in gnumeric, that will make charts a lot less convenient.

If transpose is really a matrix operation and not a function that rearranges cell regions, then we need an option in the chart dialog to specify if cells are read by rows or by columns.
Comment 7 Morten Welinder 2013-04-04 12:38:28 UTC
TRANSPOSE translates empties to 0 for compatibility reasons.  Other than
that it really is a function that rearranges cell regions.  In particular
it transposes strings, booleans, and errors just fine making it clearly
not a matrix function.
Comment 8 Frédéric Parrenin 2013-04-04 12:56:56 UTC
OK, so why the transpose function does not give the expected result in the example which has been provided?
Note that replacing the empty cells with 'NaN' in the 4th lines does not change the problem.
Comment 9 Jean Bréfort 2013-04-04 15:07:15 UTC
The tanspose function gives the expected result, the graph code doesn't interpret it correctly.
Comment 10 Jean Bréfort 2013-04-04 15:39:05 UTC
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.

Note that the arrays are always evaluated by rows for consistency.
Comment 11 Jean Bréfort 2013-04-04 15:46:41 UTC
Fixed in stable actually, of course.
Comment 12 Andreas J. Guelzow 2013-04-04 15:55:12 UTC
Morten, if TRANSPOSE is not supposed to be a matrix function in Gnumeric, then our documentation shouldn't really call its argument a 'matrix'.
Comment 13 Frédéric Parrenin 2013-04-04 15:57:48 UTC
Morten was referring to a matrix in a mathematical sense (with only numbers), the documentation refers to a matrix in an informatic sense.
Comment 14 Andreas J. Guelzow 2013-04-04 16:58:26 UTC
We are claiming compliance with regard to ODF 1.2 OpenFormula where the term matrix is very clearly used in the mathematical sense. Moreover if matrix were used in a "informatic" sense (whatever that means) then blanks would not become 0s!