OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

office message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [office] surface plots


On Tue, 2009-07-28 at 17:09 +0200, Eike Rathke/Ingrid wrote:

> >> It is not OpenOffice.org that has implemented the surface chart 
> >> differently. OpenOffice.org does not at all implement the surface chart 
> >> type so far. But Mircosoft does for example. They do create ods surface 
> >> charts like I have described for the 3D case - where in addition they 
> >> set the attribute chart:deep="true" (what is a good thing to do here I 
> >> think).
> >>     
> >
> > So we already having two implementations (Microsoft Excel and Gnumeric)
> > that implement this in different ways.
> >
> > I don't understand how chart:deep="true" is related to this. A contour
> > chart (we are not talking about regular surface charts as they are
> > usually understood) is by definition 2-dimensional and so chart:deep
> > does not apply.
> >   
> Well I have talked about regular surface charts. The class name is 
> 'surface' not 'contour'. 'Surface' is naturally not understood as a 2D 
> thing only. 

When I am looking at ODF 1.1, I see a description of chart:surface that
says:
 "the data points are interpreted as tabular data, where each value
defines a 'height' at a specific grid location. The graph may visualize
these using colors for height intervals, creating color bands similar to
geographical maps."
and an example image that shows a contour graph. There iws no indication
at all that this could be a three-dimensional graph.

The description of chart:three-dimensional really doesn't say anything
useful (and due to the description of chart:deep seems to refer to
three-dimensional versions of two-dimensional bar and circle charts).

 
> But in ODF there is an attribute chart:three-dimensional to 
> define that, so we do not need to speculate.
> So lets speak about the 3D case for a moment. And lets assume the multi 
> series approach. Then attribute chart:deep="true" makes sense, as then 
> the structure is the very same as for deep bar, line or area charts.

Once again there is not enough information given with respect to
chart:deep. 

In your opinion, how would a chart:surface with
chart:three-dimensional=true and chart:deep=true differ from a
chart:surface with chart:three-dimensional=true and chart:deep=false?

If we have really three-dimensional surface charts how would the
viewpoint be specified? (The absence of such a specification would tell
me that three-dimensional surface charts are not intended.)

> >   
> >> Having multiple series forming one surface has the advantage that the 
> >> data structure is the same as for other deep 3D charts.

Other deep 3d charts don't show truly 3 dimensional data but just a
collection of two dimensional data.

> >>     
> >
> > Again, contour plots are _not_ 3-dimensional.
> >   
> But *surface* charts can be 3-dimensional.

If this were true, wouldn't ODF 1.1 have shown a 3-dimensional example
rather than the specific contour example?

> >   
> >>  That makes it 
> >> easy to switch between those types. Applications that do not implement a 
> >> surface chart can easily use a bar chart instead ( I am on a jump to 
> >> implement that  for OpenOffice.org  ).
> >>     
> >
> > It would probably be as easy to implement a contour plot as to implement
> > some conversion from contour to barchart.
> >   
> Not simpler than a string replacement.
> >   
> >> I think the multiple series approach has furthermore the advantage that 
> >> the accessory grid locations are defined more precisely.
> >> With the single series approach the grid locations are quite unclear so 
> >> far. This must be specified further if we allow for it.
> >>     
> >
> > I don't understand this.
> >   
> This becomes clearer below. You say you use the domain elements. That is 
> something that is not specified for the surface chart. And it is not 
> obvious that you do that and which domain elements you use for what. But 
> see below.
> >   
> >> Regarding the 2D case:
> >> Microsoft does not create real 2D surface charts. Instead they create 3D 
> >> surfaces with a perspective looking from the top.
> >> At least for performance reasons I think it would be good to allow and 
> >> to define real 2D case for surface charts (contour chart). What do 
> >> others think about this?
> >>     
> >
> > My reading of chart:surface is that this is in fact a 2-dimensional
> > contour chart. I think that the reference to geographical maps makes
> > this abundantly clear. 
> >   
> No. The referred sentence is with 'may' and 'similar'.
>  From ODF 1.0: "The graph may visualize these using colors for height 
> intervals, creating color bands similar to geographical maps." This is 
> not 'exactly' and 'only'.

and the example image shown is clearly a contour chart, not a general
surface chart. Clearly surface charts are not considered since otherwise
a viewpoint could be specified.

> But as said above there is an attribute chart:three-dimensional that can 
> be used to define whether the chart type should be used in 2D or 3D.
> So lets agree to allow both and work on the more critical things.
> > Gnumeric also exports/imports other charts to ODF that are
> > three-dimensional using its own namespace. Those exports have a similar
> > structure as those currently used by Gnumeric for chart:surface.
> >   
> >> If there are already different implementation out there, one thing that 
> >> could be done is to allow for both interpretations in the specification.
> >>     
> >
> > Well, apparently there already are. (I guess this is another proof that
> > these chart descriptions are not sufficiently clear and unique.)
> >   
> The ones to blame for that are not involved here anymore. So lets work 
> on making it better.
> >>  
> >> But this puts an extra burden on all applications, so I would not prefer 
> >> that way. It would be interesting what others do think about this issue.
> >> In case we anyhow allow for multiple interpretations I need your help to 
> >> give a complete suggestion for the specification. Could you fill in the 
> >> missing parts for the Gnumeric interpretation, please?
> >>
> >> This is a suggestion for a definition that allows for both known 
> >> interpretations of the surface chart (missing parts to be completed):
> >> ----------------------
> >> surface – The values of multiple <chart:series> (marked as being of type 
> >> chart:surface) are interpreted as a 'altitude' at a specific grid 
> >> location. The graph may visualize these using colors for height 
> >> intervals, creating color bands.
> >>
> >> In case of chart:three-dimensional="true" a left handed three 
> >> dimensional cartesian coordinate system is used.
> >>     
> >
> > These are contour charts, form ODF 1.1: "the data points are interpreted
> > as tabular data, where each value defines a 'height' at a specific grid
> > location. The graph may visualize these using colors for height
> > intervals, creating color bands similar to geographical maps."
> >
> > So chart:three-dimensional="true" can never happen!! There are only two
> > axes, not three!
> >   
> I disagree. The description leaves this open.
> >   
> >>  The attribute 
> >> chart:deep has to be set to true in this case. The given values for a 
> >> series are interpreted as y-coordinates (representing the 'altitude').
> >>     
> > (As mathematician, I find it quite unusually to call the height y rather
> > than z)
> >   
> As physician I can't find anything unusual here.
> >> In case multiple series with type surface are given the accessory x and 
> >> z coordinates are determined as follows. The accessory x-coordinates are 
> >> generated from the positions in the altitude-value sequence starting 
> >> with 1.0.
> >>     
> >
> > unless they are given by the first chart:domain
> >
> >   
> >>  The first altitude value gets an x value 1.0. The second 
> >> altitude value is associated with an x value of 2.0 and so forth. The 
> >> z-coordinates are generated from the positions  of the series elements 
> >> starting with 1.0.
> >>     
> >
> > unless they are given by the second chart:domain
> >
> >   
> >>  The first series has an associated z coordinate of 
> >> 1.0. The second series has a z-coordinate 2.0 and so forth.
> >> In case only one series with type surface is given x and z coordinates 
> >> are determined as follows.
> >> ... please enter a suggestion to describe how the x and z values are 
> >> determined in this case ...
> >>     
> >
> > They are given by the two chart:domain series. 
> >   
> This is still unclear. My interpretation of your description now would 
> be the following:
> For example x values from range A1:A4, y values from range B1:B4 and z 
> values from C1:C4:
> X1 Y1 Z1
> X2 Y2 Z2
> X3 Y3 Z3
> X4 Y4 Z4
> They would form 4 data points:
> P1 = (X1, Y1, Z1)
> P2 = (X2, Y2, Z2)
> P3 = (X3, Y3, Z3)
> P4 = (X4, Y4, Z4)
> But looking at the Gnumeric application this seems not to be what is 
> done there.

Gnumeric has various ways this could be specified. Gnumeric implements
chart:surface as a contour plot (not an xyz contour plot), So data would
look like:

  A  B  C  D  E
1 -- 1  2  3  4
2 1  2  7  5  6
3 2  4  3  3  2
4 3  5  6  5  4
5 4  3  2  3  2
6 5  4  5  5  5

The "y"-values would be the range B2:E6, the "x" values would be given
by B1:E1 and the "z"-values as A2:A5. So the height at x=3 z=2 would be
6.

The same would be true for gnumeric's surface plots.

THe description you gave above is gnumeric's xyz contour and xyz surface
plots.


> Furthermore this would allow for not equidistant points 'on the grid' 
> what is not wanted for the surface chart.

Why not? 

> >> In case of chart:three-dimensional="false" each altitude value is 
> >> located on a Cartesian x-/y-grid.
> >> In case multiple series with type surface are given the accessory x and 
> >> y coordinates are determined as follows.
> >> The x-coordinates are generated from the positions in the altitude-value 
> >> sequence starting with 1.0. The
> >> y-coordinates are generated from the positions of the series elements 
> >> starting with 1.0.
> >> In case only one series with type surface is given the accessory x and y 
> >> coordinates are determined as follows.
> >> ... please enter a suggestion to describe how the x and y values are 
> >> determined in this case ...
> >> ----------------------
> >>     
> >
> > Considering your description, how could you ever obtain the
> > chart:surface image given in ODF 1.1 (note that the vertical axis does
> > not have numerical values).
> >   
> The surface image given in ODF 1.1 can be obtained using the multi 
> series approach and taking the series names as labels for the axis.
> Use this cell values in range A1:C4 :
> 1    2   3
> 2    4   6
> 3    6   9
> 4    8   12
> And 3 series:
> series1 with value range A1:A4 (and name R1)
> series2 with value range B1:B4 (and name R2)
> series3 with value range C1:C4 (and name R3)
> 
> You can create it in this way for example in Excel. Furthermore Gnumeric 
> does import such an Excel surface chart from xls properly.
> > How would you specify the x and z (?) values if they were not simply 1
> > through n?
> >   
> I don't understand this. Your suggestion was not to have values 1 
> through n but values from cell ranges, wasn't it?
> > Are we even talkning about the same _2_-dimensional charts?
> >   
> I tried Gnumeric 1.9.10 and found that charts were not saved at all when 
> saving to ODF format. So if Gnumeric has not produced files containing 
> surface charts I see no reason why the specification should be made 
> extra complicated here.

These plots are implemented in Gnumeric 1.9.11.

Andreas
-- 
Andreas J. Guelzow, PhD, FTICA
Coordinator, Mathematical & Computing Sciences
Concordia University College of Alberta



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]