openoffice-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Clarence GUO <>
Subject Re: review requested: [Bug 122822] Correct viewing of XY-, Column- and Line-Charts limited to 10000 records + 1 Heading row : [Attachment 81359] Fix patch
Date Wed, 21 Aug 2013 08:48:20 GMT
Hi~ Regina,
Sorry I misunderstood your comment in the defect about data label. You
meant hover tip data label but I thought you meant data label on X axis. My
old fix cannot solve the problem of hover tip. Seems we can only fix it at
view side.
So I changed my resolution to fix at view side, but it's only for specific
chart types. Please get more details in the defect.


2013/8/21 Clarence GUO <>

> Hi~ Regina,
> I understand your suggestion. But I think it has a limitation. We can
> implement drawing shapes in each individual chart type. But drawing data
> lables on X axis is common, not belongs to drawing shapes in chart type. So
> when drawing axis, it doesn't know how did the implementation of draw data
> points in one chart type, it can only draw from begining point in order.
> About your question about Excel import, you mentioned delete the original
> chart in Excel, then create a new one in AOO, it works. Did you use AOO4.0?
> Then fix code of 121058 is already there, so it works.
> About another question, my fix is only for spreadsheet. Yes, I only fixed
> for spreadsheet because charts with too many data are mainly in
> spreadsheet. It's hard to create chart with so many points in presentation
> and word processor because they are using internal provider. Maybe we can
> fix internal provider in a separate defect.
> Clarence
> 2013/8/20 Regina Henschel <>
>> Hi Clarence,
>> Clarence GUO schrieb:
>>  Hi~ Regina,
>>> Do you mean the change should at view side?
>> Yes.
>>  But each chart type has it's
>>> own implementation of view.
>> And each chart has its own performance problems. Drawing an XY-chart with
>> only points might work, but showing data point labels will fail. Drawing a
>> line in 2D might be fine, but drawing the same line in 3D will fail.
>> Drawing only points might work, but drawing a regression line or smoothed
>> curve in addition might fail.
>>  So if we want to change at view side, we have
>>> to change code in each implementation. That code looks not very
>>> effective.
>>> My change doesn't change model because the data source range can be kept.
>> But is solves only Calc as data provider.
>> Changing the view would also not change data source range but only the
>> amount of generated shapes.
>> Another problem is, that there must be something additional in Excel
>> import, because using ods works with the same amount of data. Delete the
>> chart in Excel, open the file in AOO and then make a new chart. It is slow,
>> but works.
>> Solving it inside chart has the opportunity to bring the threshold to UI,
>> as suggested in comment 23.
>>  It only picked some points from model to prepare viewing for drawing
>>> performance consideration.
>> But I'm not an expert here and you should wait, what our experienced
>> developers think.
>> A nitpick: the step should not be fix but depend on the amount of data
>> relative to a threshold.
>> Kind regards
>> Regina
>>  2013/8/20 Regina Henschel <>
>>>  Hi,
>>>> I think, that it is the wrong place for a correction. A chart is a
>>>> document and the chart itself should take care, that it draws its data
>>>> series in a reasonable time.
>>>> Kind regards
>>>> Regina
>>>> schrieb:
>>>>   Clarence GUO <> has asked  for review:
>>>>> Bug 122822: Correct viewing of XY-, Column- and Line-Charts limited to
>>>>> 10000
>>>>> records + 1 Heading row
>>>>> <https**://**bug.cgi?id=122822<>
>>>>> >
>>>>> Attachment 81359: Fix patch
>>>>> action=edit<**attachment.cgi?id=81359&**action=edit>
>>>>> <https://issues.****id=81359&action=edit<>
>>>>> >
>>>>> ------- Additional Comments from Clarence GUO <
>>>>> The root cause of this defect is in fix of 121058, only some points
>>>>> were
>>>>> picked
>>>>> up in order to save loading time and memory for tens of thousands of
>>>>> data
>>>>> points. All data points were divided into many small groups and only
>>>>> picked min
>>>>> and max points from one group. The reason why only picked min and max
>>>>> points
>>>>> instead of using a regular distance is, for example, if there is a
>>>>> column
>>>>> or a
>>>>> line chart, most of data points are around max value 100 and min value
>>>>> 10, only
>>>>> if we pick max and min values from one group, the chart can keep it's
>>>>> original
>>>>> outline. But if we use a regular distance, we might only get some
>>>>> mid-value(for
>>>>> example 50) of the chart and will miss the chart outline.
>>>>> But the mechanism never consider scatter chart or bubble chart which
>>>>> have
>>>>> multiple data sequence in one series. For example, for scatter chart,
>>>>> one
>>>>> series has two sequence, x values and y values. A x value and a y value
>>>>> must be
>>>>> a pair. Then when pick x values, a min and a max values were picked.
>>>>> When
>>>>> pick
>>>>> y values, another min and max values were picked. However, the picked
>>>>> min
>>>>> and
>>>>> max x values probably are not in one pair of min and max y values. For
>>>>> example,
>>>>> index of min and max x values are 10 and 40. It should get No. 10 and
>>>>> No.
>>>>> 40
>>>>> values from y values, but it might get No. 30 and No. 35. So in this
>>>>> case, the
>>>>> chart data are totally corrupt. That is the root cause.
>>>>> My fix will roll back code of 121058 in ScChart2DataSequence::**
>>>>> getNumericalData
>>>>> and add new fix code in ScChart2DataSequence::****BuildDataCache(),
>>>>> then
>>>>> wrong axes
>>>>> data label issue mentioned by Regina Henschel can be fixed. And new
>>>>> code
>>>>> will
>>>>> use regular distance to pick up points then problem for scatter chart
>>>>> and
>>>>> other
>>>>> charts which have multiple sequences in one series can be fixed. If the
>>>>> distance is small enough, fore-mentioned chart outline issue is no
>>>>> problem. So
>>>>> I use 5 as regular distance.
>> ------------------------------**------------------------------**---------
>> To unsubscribe, e-mail: dev-unsubscribe@openoffice.**<>
>> For additional commands, e-mail:

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message