Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fatal error: Can't form Range with upperBound < lowerBound #4046

Closed
danishnaeem57 opened this issue Jun 27, 2019 · 40 comments
Closed

Fatal error: Can't form Range with upperBound < lowerBound #4046

danishnaeem57 opened this issue Jun 27, 2019 · 40 comments
Assignees
Labels

Comments

@danishnaeem57
Copy link

danishnaeem57 commented Jun 27, 2019

hey @danielgindi , first of all, thanks for the awesome library.
I have recently updated the library and a crash is occurring in
"extension BarLineScatterCandleBubbleRenderer.XBounds: Sequence" in constructor. line is

fileprivate init(min: Int, max: Int) {
-----> self.iterator = (min...max).makeIterator()
}

Can you please tell me, why is it crashing and what am I doing wrong and how can I prevent it? Its astonishing that graphs have been working fine on previous versions of library.

Error on xcode debugger is:
Fatal error: Can't form Range with upperBound < lowerBound

@d0x90
Copy link

d0x90 commented Jun 28, 2019

same here

@ali-ehsan
Copy link

Same here

@Cavech84
Copy link

Cavech84 commented Jul 6, 2019

same here

@xor22h
Copy link

xor22h commented Jul 8, 2019

Me too... Seems like min/max values are in wrong order.

@t0rn
Copy link

t0rn commented Jul 9, 2019

same here

@Andy1984
Copy link

But you hint me, you recently update the library, thus I can turn to a lower version to solve the problem temporarily.

@moosabaloch
Copy link

Downgraded the library from 3.3.0 to 3.2.2 and it works fine for now.

@pandapancake
Copy link

Same here. Even after downgraded the versions to 3.2.2 :/

@Andy1984
Copy link

Same here. Even after downgraded the versions to 3.2.2 :/

3.2.2 is fine. I recommend you clean xCode and run again.

@ghost
Copy link

ghost commented Jul 26, 2019

@danishnaeem57 @d0x90 @ali-ehsan @Cavech84 @xor22h @t0rn @Andy1984 @moosabaloch @pandapancake

As a temporary fix, when you're creating your data sets before adding them to the chart sort them in place by their x values min < max. It doesn't fix the bug obviously but it'll let you draw your graphs.

        var dataEntriesLive: [ChartDataEntry] = []
        
        for i in 0 ..< live.count {
            let liveDataPoint = live[i]
            let power = liveDataPoint.power
            let freq = liveDataPoint.freq
            dataEntriesLive.append(ChartDataEntry(x: Double(freq), y: power))
        }
        
        dataEntriesLive.sort(by: { $0.x < $1.x })
        
        let chartData = LineChartData(dataSets: [])

        chartData.addDataSet(chartDataSetLive)

@Chunontherocks
Copy link

Chunontherocks commented Jul 29, 2019

@psseelman It work! Thanks!

@NickAtGit
Copy link

same here

@Andy1984
Copy link

@danishnaeem57 @d0x90 @ali-ehsan @Cavech84 @xor22h @t0rn @Andy1984 @moosabaloch @pandapancake

As a temporary fix, when you're creating your data sets before adding them to the chart sort them in place by their x values min < max. It doesn't fix the bug obviously but it'll let you draw your graphs.

        var dataEntriesLive: [ChartDataEntry] = []
        
        for i in 0 ..< live.count {
            let liveDataPoint = live[i]
            let power = liveDataPoint.power
            let freq = liveDataPoint.freq
            dataEntriesLive.append(ChartDataEntry(x: Double(freq), y: power))
        }
        
        dataEntriesLive.sort(by: { $0.x < $1.x })
        
        let chartData = LineChartData(dataSets: [])

        chartData.addDataSet(chartDataSetLive)

Thanks. Because I need to handle same x value but different y values in bubble chart and scatter chart, I have already found out that I need to sort dataEntries. Maybe it is not a bug because somewhere else mentioned that they need to be sorted. However, what I still do not understand there is not sorting code in the demo, and there is no documentation about the needs of sorting.

@liuxuan30
Copy link
Member

thanks for reporting. Been busy recently.

Can someone post a crash log and maybe code we could reproduce with ChartsDemo?

from

Can't form Range with upperBound < lowerBound

It seems the source is not sorted?

I didn't understand nor our CI detects this. If this is a bug and serious we should add a UT for it.

@liuxuan30 liuxuan30 added the bug label Aug 1, 2019
@liuxuan30 liuxuan30 self-assigned this Aug 1, 2019
@Plainson
Copy link

Plainson commented Aug 2, 2019

Not only that, when the data behind the data set is smaller than the previous data, the chart will show obvious flicker, sometimes crashing. Now this library requires that the data in data set be sorted well.

@liuxuan30
Copy link
Member

liuxuan30 commented Aug 7, 2019

I'm not sure if I remembered correctly, but it's sorted a long time ago, I was thinking sorting is a requirement, but I didn't take a deep look.

When you said 3.2.2 is fine, I need some data code snippet so I could test in ChartsDemo, I don't know if it's a regression.

@liuxuan30
Copy link
Member

@jjatie do you know what could be wrong?

@sameer4
Copy link

sameer4 commented Sep 5, 2019

same here

@b3ckm4n
Copy link

b3ckm4n commented Sep 6, 2019

Hi folks, I swapped the X and Y values and that solved the problem. Not sure if I was supposed to, but it's working fine now with 3.3.0.

@TerletskyIgor
Copy link

TerletskyIgor commented Nov 4, 2019

I had the same problem.
How I solved this problem:

  • I needed to keep the order of my points.
  • I had two arrays of points.
  • I created a dictionary. In which the first array was keys, the second array was values.

Then I sorted the dictionary by keys. It solved this problem.

//your value
let l0 = [Double]()
let l1 = [Double]()

var temp = [Double: Double]()

 for i in 0..<l0.count {
    let key = l0[i]
    let value = l1[i]
    temp[key] = value
}
temp.sorted {$0.key < $1.key}

Screenshot 2019-11-04 at 23 31 09

After that, there was a problem that the function graph was filled in and inside.
To fix this, I added:

let line1 = LineChartDataSet(entries: lineChartEntry1, label: nil)
line1.drawCirclesEnabled = true // Default value
line1.colors = [UIColor (red: CGFloat (0/255), green: CGFloat (0/255), blue: CGFloat (0/255), alpha: 0)]

When you set the color to transparent, you will get your function graph that won`t be filled inside.
In my case there was a lot of point and all drawCircles seem like a solid line.
Screenshot 2019-11-04 at 23 33 52

I know that this is not the best solution =)

@Yorzic
Copy link

Yorzic commented Jan 7, 2020

thanks for reporting. Been busy recently.

Can someone post a crash log and maybe code we could reproduce with ChartsDemo?

from

Can't form Range with upperBound < lowerBound

It seems the source is not sorted?

I didn't understand nor our CI detects this. If this is a bug and serious we should add a UT for it.

Hi, please find the crash log. This is still an issue. I can't sort my data by X values because it is essential that the data is represented in order the values have been added. Somehow the minimum visible entry becomes larger than the maximum visible entry.

min Int 18
max Int 2
self Charts.BarLineScatterCandleBubbleRenderer.XBounds.Iterator
iterator IndexingIterator<ClosedRange>
_elements ClosedRange 0...0
lowerBound Int 0
upperBound Int 0
_position ClosedRange.Index inRange
inRange Int 0

@Yorzic
Copy link

Yorzic commented Jan 7, 2020

What's interesting is that the issue only appears to pop up with a large enough dataset. When testing the chart with a demo dataset of 11 data points it works perfectly fine. However, when I plug in a real dataset with about 30 datapoints the chart renders itself correctly but fails when I zoom it.

@cstarkjp
Copy link

cstarkjp commented Feb 1, 2020

This is STILL a problem with 3.4.0, as it was in 3.3.0 (just tested on both). The crash appears, for me, at 15 points. I don't immediately have access to a crash report but I will post if/when I do.

Note that ordering the points so that x0 <= x1 <= x2... is not a real solution, because in cases of symbol overlap there may be a natural "stacking" order that is entirely different.

@YogeshSDM
Copy link

I am also getting same issue
Can't form Range with upperBound < lowerBound

I added two line in chat view. For one line, it is working fine.

If I downgraded the library version, crash is resolved BUT second line did not appears from point when crash occurs in latest library version.
Please help me out

@liuxuan30
Copy link
Member

@danielgindi any idea if this is by design or a defect? since I remember we need x values to be sorted?

@danielgindi
Copy link
Collaborator

It's by design, the x values should be sorted, as many optimizations are based on that (stopping rendering loops when values are out of view)

@robertschmid23
Copy link

robertschmid23 commented Apr 17, 2020

I am having this problem. The situation gets set up in the XBounds class at line 81.

I added the following data to a CandleChartDataSet using

samples.append(CandleChartDataEntry(x: Double(x), shadowH: y+100, shadowL: y-100, open: y, close: y))

Adding 108, 1545.0
Adding 283, 952.0
Adding 448, 1000.0
Adding 636, 927.0
Adding 824, 1601.0
Adding 1003, 952.0
Adding 1168, 996.0
Adding 1352, 1003.0
Adding 1544, 1598.0
Adding 1723, 949.0
Adding 1903, 947.0
Adding 2068, 986.0
Adding 2260, 1227.0
Adding 2452, 1005.0
Adding 2623, 952.0
Adding 2803, 913.0
Adding 2984, 1976.0
Adding 3328, 1000.0
Adding 3512, 988.0

Inside XBounds at

        let low = chart.lowestVisibleX
        let high = chart.highestVisibleX
        
        let entryFrom = dataSet.entryForXValue(low, closestToY: .nan, rounding: .up)
        let entryTo = dataSet.entryForXValue(high, closestToY: .nan, rounding: .down)
        
        self.min = entryFrom == nil ? 0 : dataSet.entryIndex(entry: entryFrom!)
        self.max = entryTo == nil ? 0 : dataSet.entryIndex(entry: entryTo!)
        range = Int(Double(self.max - self.min) * phaseX)

I end up with

self.min = 18
self.max = 0
self.range = -18

low and high are

low Double 1.7976931348623157E+308
high Double -1.7976931348623157E+308

which I suspect are reversed

SOLVED:

My chart has both lineData and Candle Data. My app works fine if I toggle the line chart on first and THEN the candle data. If I do it in reverse, I get this scenario.

@Vactorwang
Copy link

same here

@Breiby
Copy link

Breiby commented Jun 23, 2020

Why was this issue closed? It has not been fixed yet as far as I can tell.

@ivarvanwooning
Copy link

ivarvanwooning commented Oct 31, 2020

I'm using Core Data to feed data into my charts.

My fetch request looked like this:

@FetchRequest(entity: Data.entity(),
    sortDescriptors: [
        NSSortDescriptor(keyPath: \Data.date, ascending: false)
    ], predicate: NSPredicate(format: "side == %@", "Left"))
var data: FetchedResults<Data>

I dug a little deeper and found out the resulting arrays looked like this:

[2020-10-31 09:55:06 +0000, 2020-10-29 23:01:19 +0000, 2020-10-29 22:57:20 +0000] (x-axis) [19.3, 29.5, 7.2] (y-axis)

So the issue for me was the x-axis array was increasing rather than decreasing. The solution was to set ascending: true in the fetch request. This solution is very specific to Core Data, but the idea is the same. A solution would be to first order the data correctly from low to high.

@inertialelements
Copy link

hey @danielgindi , first of all, thanks for the awesome library.
I have recently updated the library and a crash is occurring in
"extension BarLineScatterCandleBubbleRenderer.XBounds: Sequence" in constructor. line is

fileprivate init(min: Int, max: Int) {
-----> self.iterator = (min...max).makeIterator()
}

Can you please tell me, why is it crashing and what am I doing wrong and how can I prevent it? Its astonishing that graphs have been working fine on previous versions of library.

Error on xcode debugger is:
Fatal error: Can't form Range with upperBound < lowerBound

same here

@pierre-wehbe
Copy link

Attaching my data. 4 different datasets, each sorted by x values. Gettings min = 1, max = 0 when redering the first dataset.
Using CombinedChart.

po lineData.dataSets
▿ 4 elements
▿ 0 : Charts.LineChartDataSet, label: DataSet, 2 entries:
ChartDataEntry, x: 1608518601.0, y 70.0
ChartDataEntry, x: 1608539400.57922, y 70.0
▿ 1 : Charts.LineChartDataSet, label: DataSet, 2 entries:
ChartDataEntry, x: 1608688272.0, y 70.0
ChartDataEntry, x: 1608710529.0, y 70.0
▿ 2 : Charts.LineChartDataSet, label: DataSet, 2 entries:
ChartDataEntry, x: 1608710531.0, y 70.0
ChartDataEntry, x: 1608710536.0, y 70.0
▿ 3 : Charts.LineChartDataSet, label: DataSet, 2 entries:
ChartDataEntry, x: 1608711724.0, y 70.0
ChartDataEntry, x: 1608712202.2124639, y 70.0

@kscheff
Copy link

kscheff commented Mar 3, 2021

... I am also fighting this bug. It doesn't come up all the time on Version 3.6.0. My chart gets filled with real time sensor data, so it is hard to replicate, but I got luck and watched one occurrence on the debugger:

The Iterator() get instantiated with: min:475, max:0, range:-475 --> this leads to the crash
The data set comes from the LineChartRenderer, the bounds are created in
_xBounds.set(chart: dataProvider, dataSet: dataSet, animator: animator)
The dataSet is sorted and looks like listed below.
The data provider frame is:
<xxx.MyChart: 0x106018a00; frame = (0 0; 373 370); autoresize = W+H; gestureRecognizers = <NSArray: 0x280c2b600>; layer = <CALayer: 0x280255ee0>>

So the span on the x values is ca 950 and the above range is minus half of it -475.
... now I am lost where the min/max and range gets calculated from.

Charts.LineChartDataSet, label: A Solarstrom, 476 entries:
ChartDataEntry, x: 1614784475.046358, y 0.991
ChartDataEntry, x: 1614784477.086767, y 0.991
ChartDataEntry, x: 1614784479.1294699, y 0.991
ChartDataEntry, x: 1614784481.012964, y 0.991
ChartDataEntry, x: 1614784482.9634218, y 0.991
ChartDataEntry, x: 1614784484.943125, y 0.991
ChartDataEntry, x: 1614784486.953074, y 0.991
ChartDataEntry, x: 1614784488.982934, y 0.991
ChartDataEntry, x: 1614784490.943293, y 0.991
ChartDataEntry, x: 1614784492.953424, y 0.991
ChartDataEntry, x: 1614784494.962879, y 0.991
ChartDataEntry, x: 1614784496.974782, y 0.991
ChartDataEntry, x: 1614784498.955707, y 0.991
ChartDataEntry, x: 1614784500.9629831, y 0.991
ChartDataEntry, x: 1614784502.9433432, y 0.991
ChartDataEntry, x: 1614784504.952965, y 0.991
ChartDataEntry, x: 1614784506.962874, y 0.991
ChartDataEntry, x: 1614784508.991404, y 0.991
ChartDataEntry, x: 1614784510.9540582, y 0.991
ChartDataEntry, x: 1614784512.96251, y 0.991
ChartDataEntry, x: 1614784514.972135, y 0.991
ChartDataEntry, x: 1614784516.9531698, y 0.991
ChartDataEntry, x: 1614784518.966189, y 0.991
ChartDataEntry, x: 1614784520.972749, y 0.991
ChartDataEntry, x: 1614784522.955882, y 0.991
ChartDataEntry, x: 1614784524.9631839, y 0.991
ChartDataEntry, x: 1614784526.941953, y 0.991
ChartDataEntry, x: 1614784529.05837, y 0.991
ChartDataEntry, x: 1614784530.962817, y 0.991
ChartDataEntry, x: 1614784532.973213, y 0.991
ChartDataEntry, x: 1614784534.9529629, y 0.991
ChartDataEntry, x: 1614784536.963241, y 0.991
ChartDataEntry, x: 1614784539.121016, y 0.991
ChartDataEntry, x: 1614784540.954009, y 0.991
ChartDataEntry, x: 1614784542.96307, y 0.991
ChartDataEntry, x: 1614784544.943625, y 0.991
ChartDataEntry, x: 1614784546.9532409, y 0.991
ChartDataEntry, x: 1614784548.9822469, y 0.991
ChartDataEntry, x: 1614784550.9721231, y 0.991
ChartDataEntry, x: 1614784552.9535, y 0.991
ChartDataEntry, x: 1614784554.964752, y 0.991
ChartDataEntry, x: 1614784556.942618, y 0.991
ChartDataEntry, x: 1614784558.955514, y 0.991
ChartDataEntry, x: 1614784560.9631, y 0.991
ChartDataEntry, x: 1614784562.97514, y 0.991
ChartDataEntry, x: 1614784564.9543881, y 0.991
ChartDataEntry, x: 1614784566.962963, y 0.991
ChartDataEntry, x: 1614784568.943149, y 0.991
ChartDataEntry, x: 1614784570.9543061, y 0.991
ChartDataEntry, x: 1614784572.9627562, y 0.991
ChartDataEntry, x: 1614784574.972295, y 0.991
ChartDataEntry, x: 1614784576.95537, y 0.991
ChartDataEntry, x: 1614784578.963522, y 0.991
ChartDataEntry, x: 1614784580.943358, y 0.991
ChartDataEntry, x: 1614784582.953825, y 0.991
ChartDataEntry, x: 1614784584.9654431, y 0.991
ChartDataEntry, x: 1614784586.974539, y 0.991
ChartDataEntry, x: 1614784588.95338, y 0.991
ChartDataEntry, x: 1614784590.963554, y 0.991
ChartDataEntry, x: 1614784592.946538, y 0.991
ChartDataEntry, x: 1614784594.9571671, y 0.991
ChartDataEntry, x: 1614784596.964895, y 0.991
ChartDataEntry, x: 1614784598.9446201, y 0.991
ChartDataEntry, x: 1614784600.954671, y 0.991
ChartDataEntry, x: 1614784602.9641151, y 0.991
ChartDataEntry, x: 1614784604.973212, y 0.991
ChartDataEntry, x: 1614784606.9545798, y 0.991
ChartDataEntry, x: 1614784608.965986, y 0.991
ChartDataEntry, x: 1614784610.943246, y 0.991
ChartDataEntry, x: 1614784612.952832, y 0.991
ChartDataEntry, x: 1614784614.963719, y 0.991
ChartDataEntry, x: 1614784616.973352, y 0.991
ChartDataEntry, x: 1614784618.953115, y 0.991
ChartDataEntry, x: 1614784620.963558, y 0.991
ChartDataEntry, x: 1614784622.944991, y 0.991
ChartDataEntry, x: 1614784624.955315, y 0.991
ChartDataEntry, x: 1614784626.965267, y 0.991
ChartDataEntry, x: 1614784629.1022182, y 0.991
ChartDataEntry, x: 1614784630.9541411, y 0.991
ChartDataEntry, x: 1614784632.9640489, y 0.991
ChartDataEntry, x: 1614784634.943553, y 0.991
ChartDataEntry, x: 1614784636.953584, y 0.991
ChartDataEntry, x: 1614784638.964137, y 0.991
ChartDataEntry, x: 1614784640.973627, y 0.991
ChartDataEntry, x: 1614784642.953902, y 0.991
ChartDataEntry, x: 1614784644.9636002, y 0.991
ChartDataEntry, x: 1614784646.943647, y 0.991
ChartDataEntry, x: 1614784648.955779, y 0.991
ChartDataEntry, x: 1614784650.963958, y 0.991
ChartDataEntry, x: 1614784652.9745178, y 0.991
ChartDataEntry, x: 1614784654.9540858, y 0.991
ChartDataEntry, x: 1614784656.963571, y 0.991
ChartDataEntry, x: 1614784658.9440908, y 0.991
ChartDataEntry, x: 1614784660.954657, y 0.991
ChartDataEntry, x: 1614784662.96559, y 0.991
ChartDataEntry, x: 1614784664.9728742, y 0.991
ChartDataEntry, x: 1614784666.953918, y 0.991
ChartDataEntry, x: 1614784668.982316, y 0.991
ChartDataEntry, x: 1614784670.943788, y 0.991
ChartDataEntry, x: 1614784672.956079, y 0.991
ChartDataEntry, x: 1614784674.964663, y 0.991
ChartDataEntry, x: 1614784676.973023, y 0.991
ChartDataEntry, x: 1614784678.959639, y 0.991
ChartDataEntry, x: 1614784680.965456, y 0.991
ChartDataEntry, x: 1614784682.9453201, y 0.991
ChartDataEntry, x: 1614784684.954515, y 0.991
ChartDataEntry, x: 1614784686.963952, y 0.991
ChartDataEntry, x: 1614784688.973703, y 0.991
ChartDataEntry, x: 1614784690.954071, y 0.991
ChartDataEntry, x: 1614784692.964313, y 0.991
ChartDataEntry, x: 1614784694.974154, y 0.991
ChartDataEntry, x: 1614784696.953325, y 0.991
ChartDataEntry, x: 1614784698.964551, y 0.991
ChartDataEntry, x: 1614784700.973954, y 0.991
ChartDataEntry, x: 1614784702.9540482, y 0.991
ChartDataEntry, x: 1614784704.962184, y 0.991
ChartDataEntry, x: 1614784706.973346, y 0.991
ChartDataEntry, x: 1614784708.9539762, y 0.991
ChartDataEntry, x: 1614784710.962985, y 0.991
ChartDataEntry, x: 1614784712.942538, y 0.991
ChartDataEntry, x: 1614784714.952588, y 0.991
ChartDataEntry, x: 1614784716.963048, y 0.991
ChartDataEntry, x: 1614784719.0959759, y 0.991
ChartDataEntry, x: 1614784720.9567962, y 0.991
ChartDataEntry, x: 1614784722.963983, y 0.991
ChartDataEntry, x: 1614784724.94516, y 0.991
ChartDataEntry, x: 1614784726.954238, y 0.991
ChartDataEntry, x: 1614784728.965487, y 0.991
ChartDataEntry, x: 1614784730.974087, y 0.991
ChartDataEntry, x: 1614784732.954232, y 0.991
ChartDataEntry, x: 1614784734.964171, y 0.991
ChartDataEntry, x: 1614784736.974019, y 0.991
ChartDataEntry, x: 1614784738.953732, y 0.991
ChartDataEntry, x: 1614784740.963304, y 0.991
ChartDataEntry, x: 1614784743.002537, y 0.991
ChartDataEntry, x: 1614784744.954198, y 0.991
ChartDataEntry, x: 1614784746.964772, y 0.991
ChartDataEntry, x: 1614784749.070147, y 0.991
ChartDataEntry, x: 1614784750.9545012, y 0.991
ChartDataEntry, x: 1614784752.964122, y 0.991
ChartDataEntry, x: 1614784754.974187, y 0.991
ChartDataEntry, x: 1614784756.95241, y 0.991
ChartDataEntry, x: 1614784759.061366, y 0.991
ChartDataEntry, x: 1614784760.9732652, y 0.991
ChartDataEntry, x: 1614784762.953722, y 0.991
ChartDataEntry, x: 1614784764.964133, y 0.991
ChartDataEntry, x: 1614784766.97335, y 0.991
ChartDataEntry, x: 1614784768.954935, y 0.991
ChartDataEntry, x: 1614784770.963371, y 0.991
ChartDataEntry, x: 1614784772.974844, y 0.991
ChartDataEntry, x: 1614784774.95371, y 0.991
ChartDataEntry, x: 1614784776.9642649, y 0.991
ChartDataEntry, x: 1614784779.1116982, y 0.991
ChartDataEntry, x: 1614784780.954406, y 0.991
ChartDataEntry, x: 1614784782.9642591, y 0.991
ChartDataEntry, x: 1614784784.9736772, y 0.991
ChartDataEntry, x: 1614784786.954021, y 0.991
ChartDataEntry, x: 1614784788.964581, y 0.991
ChartDataEntry, x: 1614784790.9740791, y 0.991
ChartDataEntry, x: 1614784792.954977, y 0.991
ChartDataEntry, x: 1614784794.965001, y 0.991
ChartDataEntry, x: 1614784796.975872, y 0.991
ChartDataEntry, x: 1614784798.953723, y 0.991
ChartDataEntry, x: 1614784800.9635072, y 0.991
ChartDataEntry, x: 1614784802.9755979, y 0.991
ChartDataEntry, x: 1614784804.954979, y 0.991
ChartDataEntry, x: 1614784806.964223, y 0.991
ChartDataEntry, x: 1614784808.974218, y 0.991
ChartDataEntry, x: 1614784810.985838, y 0.991
ChartDataEntry, x: 1614784812.9640589, y 0.991
ChartDataEntry, x: 1614784814.974347, y 0.991
ChartDataEntry, x: 1614784816.954629, y 0.991
ChartDataEntry, x: 1614784818.982938, y 0.991
ChartDataEntry, x: 1614784820.974417, y 0.991
ChartDataEntry, x: 1614784822.987574, y 0.991
ChartDataEntry, x: 1614784824.964592, y 0.991
ChartDataEntry, x: 1614784827.0038528, y 0.991
ChartDataEntry, x: 1614784828.955605, y 0.991
ChartDataEntry, x: 1614784830.963388, y 0.991
ChartDataEntry, x: 1614784832.975408, y 0.991
ChartDataEntry, x: 1614784834.983931, y 0.991
ChartDataEntry, x: 1614784836.964633, y 0.991
ChartDataEntry, x: 1614784839.154337, y 0.991
ChartDataEntry, x: 1614784840.955142, y 0.991
ChartDataEntry, x: 1614784842.965705, y 0.991
ChartDataEntry, x: 1614784844.974829, y 0.991
ChartDataEntry, x: 1614784846.95597, y 0.991
ChartDataEntry, x: 1614784849.089531, y 0.991
ChartDataEntry, x: 1614784850.974903, y 0.991
ChartDataEntry, x: 1614784852.955508, y 0.991
ChartDataEntry, x: 1614784854.964556, y 0.991
ChartDataEntry, x: 1614784856.974131, y 0.991
ChartDataEntry, x: 1614784859.067604, y 0.991
ChartDataEntry, x: 1614784860.9647079, y 0.991
ChartDataEntry, x: 1614784862.9739509, y 0.991
ChartDataEntry, x: 1614784864.956872, y 0.991
ChartDataEntry, x: 1614784866.964917, y 0.991
ChartDataEntry, x: 1614784869.109807, y 0.991
ChartDataEntry, x: 1614784870.984379, y 0.991
ChartDataEntry, x: 1614784872.9637752, y 0.991
ChartDataEntry, x: 1614784874.975111, y 0.991
ChartDataEntry, x: 1614784876.955086, y 0.991
ChartDataEntry, x: 1614784878.982172, y 0.991
ChartDataEntry, x: 1614784880.974505, y 0.991
ChartDataEntry, x: 1614784882.954784, y 0.991
ChartDataEntry, x: 1614784884.9647489, y 0.991
ChartDataEntry, x: 1614784886.975522, y 0.991
ChartDataEntry, x: 1614784889.0627089, y 0.991
ChartDataEntry, x: 1614784890.965224, y 0.991
ChartDataEntry, x: 1614784892.974801, y 0.991
ChartDataEntry, x: 1614784894.984518, y 0.991
ChartDataEntry, x: 1614784896.964721, y 0.991
ChartDataEntry, x: 1614784899.102312, y 0.991
ChartDataEntry, x: 1614784900.9540238, y 0.991
ChartDataEntry, x: 1614784902.9640388, y 0.991
ChartDataEntry, x: 1614784904.975141, y 0.991
ChartDataEntry, x: 1614784906.983397, y 0.991
ChartDataEntry, x: 1614784908.965897, y 0.991
ChartDataEntry, x: 1614784910.973909, y 0.991
ChartDataEntry, x: 1614784912.954866, y 0.991
ChartDataEntry, x: 1614784914.964771, y 0.991
ChartDataEntry, x: 1614784916.9749122, y 0.991
ChartDataEntry, x: 1614784918.960483, y 0.991
ChartDataEntry, x: 1614784920.965564, y 0.991
ChartDataEntry, x: 1614784922.974697, y 0.991
ChartDataEntry, x: 1614784924.9551358, y 0.991
ChartDataEntry, x: 1614784926.965094, y 0.991
ChartDataEntry, x: 1614784928.9744139, y 0.991
ChartDataEntry, x: 1614784930.984287, y 0.991
ChartDataEntry, x: 1614784932.965224, y 0.991
ChartDataEntry, x: 1614784934.974958, y 0.991
ChartDataEntry, x: 1614784936.956244, y 0.991
ChartDataEntry, x: 1614784938.964828, y 0.991
ChartDataEntry, x: 1614784940.9747648, y 0.991
ChartDataEntry, x: 1614784942.986054, y 0.991
ChartDataEntry, x: 1614784944.964418, y 0.991
ChartDataEntry, x: 1614784946.9736629, y 0.991
ChartDataEntry, x: 1614784948.95418, y 0.991
ChartDataEntry, x: 1614784950.964324, y 0.991
ChartDataEntry, x: 1614784952.9738379, y 0.991
ChartDataEntry, x: 1614784954.954407, y 0.991
ChartDataEntry, x: 1614784956.964388, y 0.991
ChartDataEntry, x: 1614784959.1154962, y 0.991
ChartDataEntry, x: 1614784960.954948, y 0.991
ChartDataEntry, x: 1614784962.965801, y 0.991
ChartDataEntry, x: 1614784964.974691, y 0.991
ChartDataEntry, x: 1614784966.9545631, y 0.991
ChartDataEntry, x: 1614784968.985421, y 0.991
ChartDataEntry, x: 1614784970.9750628, y 0.991
ChartDataEntry, x: 1614784972.955546, y 0.991
ChartDataEntry, x: 1614784974.9651818, y 0.991
ChartDataEntry, x: 1614784976.974498, y 0.991
ChartDataEntry, x: 1614784979.1238608, y 0.991
ChartDataEntry, x: 1614784980.9650168, y 0.991
ChartDataEntry, x: 1614784982.977817, y 0.991
ChartDataEntry, x: 1614784984.955027, y 0.991
ChartDataEntry, x: 1614784986.96495, y 0.991
ChartDataEntry, x: 1614784989.114692, y 0.991
ChartDataEntry, x: 1614784990.984693, y 0.991
ChartDataEntry, x: 1614784992.96435, y 0.991
ChartDataEntry, x: 1614784994.9762878, y 0.991
ChartDataEntry, x: 1614784996.954323, y 0.991
ChartDataEntry, x: 1614784999.115787, y 0.991
ChartDataEntry, x: 1614785000.9769301, y 0.991
ChartDataEntry, x: 1614785002.954832, y 0.991
ChartDataEntry, x: 1614785004.965104, y 0.991
ChartDataEntry, x: 1614785006.975531, y 0.991
ChartDataEntry, x: 1614785008.955148, y 0.991
ChartDataEntry, x: 1614785010.964353, y 0.991
ChartDataEntry, x: 1614785012.9770021, y 0.991
ChartDataEntry, x: 1614785014.986377, y 0.991
ChartDataEntry, x: 1614785016.965339, y 0.991
ChartDataEntry, x: 1614785019.09742, y 0.991
ChartDataEntry, x: 1614785020.955231, y 0.991
ChartDataEntry, x: 1614785022.964448, y 0.991
ChartDataEntry, x: 1614785024.9746609, y 0.991
ChartDataEntry, x: 1614785026.984694, y 0.991
ChartDataEntry, x: 1614785028.975439, y 0.991
ChartDataEntry, x: 1614785030.975658, y 0.991
ChartDataEntry, x: 1614785032.955512, y 0.991
ChartDataEntry, x: 1614785034.9653149, y 0.991
ChartDataEntry, x: 1614785036.974931, y 0.991
ChartDataEntry, x: 1614785038.95519, y 0.991
ChartDataEntry, x: 1614785040.965602, y 0.991
ChartDataEntry, x: 1614785042.977741, y 0.991
ChartDataEntry, x: 1614785044.955544, y 0.991
ChartDataEntry, x: 1614785046.965477, y 0.991
ChartDataEntry, x: 1614785048.974854, y 0.991
ChartDataEntry, x: 1614785050.984756, y 0.991
ChartDataEntry, x: 1614785052.96505, y 0.991
ChartDataEntry, x: 1614785054.976202, y 0.991
ChartDataEntry, x: 1614785056.955933, y 0.991
ChartDataEntry, x: 1614785058.985816, y 0.991
ChartDataEntry, x: 1614785060.9894, y 0.991
ChartDataEntry, x: 1614785062.9840112, y 0.991
ChartDataEntry, x: 1614785064.966672, y 0.991
ChartDataEntry, x: 1614785066.9754539, y 0.991
ChartDataEntry, x: 1614785068.956785, y 0.991
ChartDataEntry, x: 1614785070.965414, y 0.991
ChartDataEntry, x: 1614785072.9781852, y 0.991
ChartDataEntry, x: 1614785074.9557, y 0.991
ChartDataEntry, x: 1614785076.965688, y 0.991
ChartDataEntry, x: 1614785079.111377, y 0.991
ChartDataEntry, x: 1614785080.956174, y 0.991
ChartDataEntry, x: 1614785082.968525, y 0.991
ChartDataEntry, x: 1614785084.9770598, y 0.991
ChartDataEntry, x: 1614785086.9554129, y 0.991
ChartDataEntry, x: 1614785089.10935, y 0.991
ChartDataEntry, x: 1614785090.975541, y 0.991
ChartDataEntry, x: 1614785092.9861279, y 0.991
ChartDataEntry, x: 1614785094.96567, y 0.991
ChartDataEntry, x: 1614785096.974578, y 0.991
ChartDataEntry, x: 1614785099.115932, y 0.991
ChartDataEntry, x: 1614785100.965658, y 0.991
ChartDataEntry, x: 1614785102.975607, y 0.991
ChartDataEntry, x: 1614785104.956011, y 0.991
ChartDataEntry, x: 1614785106.9657989, y 0.991
ChartDataEntry, x: 1614785109.116225, y 0.991
ChartDataEntry, x: 1614785110.984402, y 0.991
ChartDataEntry, x: 1614785112.966876, y 0.991
ChartDataEntry, x: 1614785114.975606, y 0.991
ChartDataEntry, x: 1614785116.9557772, y 0.991
ChartDataEntry, x: 1614785119.1093202, y 0.991
ChartDataEntry, x: 1614785120.9756289, y 0.991
ChartDataEntry, x: 1614785122.985143, y 0.991
ChartDataEntry, x: 1614785124.9657311, y 0.991
ChartDataEntry, x: 1614785126.974481, y 0.991
ChartDataEntry, x: 1614785128.95784, y 0.991
ChartDataEntry, x: 1614785130.967097, y 0.991
ChartDataEntry, x: 1614785132.9759421, y 0.991
ChartDataEntry, x: 1614785134.985268, y 0.991
ChartDataEntry, x: 1614785136.965616, y 0.991
ChartDataEntry, x: 1614785139.119042, y 0.991
ChartDataEntry, x: 1614785140.9561129, y 0.991
ChartDataEntry, x: 1614785142.965907, y 0.991
ChartDataEntry, x: 1614785144.9760919, y 0.991
ChartDataEntry, x: 1614785146.984292, y 0.991
ChartDataEntry, x: 1614785149.11408, y 0.991
ChartDataEntry, x: 1614785150.97548, y 0.991
ChartDataEntry, x: 1614785152.960538, y 0.991
ChartDataEntry, x: 1614785154.966248, y 0.991
ChartDataEntry, x: 1614785156.978487, y 0.991
ChartDataEntry, x: 1614785159.076395, y 0.991
ChartDataEntry, x: 1614785160.966681, y 0.991
ChartDataEntry, x: 1614785162.9756079, y 0.991
ChartDataEntry, x: 1614785164.95606, y 0.991
ChartDataEntry, x: 1614785166.965742, y 0.991
ChartDataEntry, x: 1614785169.113494, y 0.991
ChartDataEntry, x: 1614785170.985347, y 0.991
ChartDataEntry, x: 1614785172.966419, y 0.991
ChartDataEntry, x: 1614785174.9755769, y 0.991
ChartDataEntry, x: 1614785176.9559112, y 0.991
ChartDataEntry, x: 1614785178.983382, y 0.991
ChartDataEntry, x: 1614785180.975731, y 0.991
ChartDataEntry, x: 1614785182.986681, y 0.991
ChartDataEntry, x: 1614785184.965205, y 0.991
ChartDataEntry, x: 1614785186.9757252, y 0.991
ChartDataEntry, x: 1614785188.9554, y 0.991
ChartDataEntry, x: 1614785190.967441, y 0.991
ChartDataEntry, x: 1614785192.9760141, y 0.991
ChartDataEntry, x: 1614785194.956236, y 0.991
ChartDataEntry, x: 1614785196.96716, y 0.991
ChartDataEntry, x: 1614785199.119992, y 0.991
ChartDataEntry, x: 1614785200.956183, y 0.991
ChartDataEntry, x: 1614785202.966275, y 0.991
ChartDataEntry, x: 1614785204.976116, y 0.991
ChartDataEntry, x: 1614785206.956159, y 0.991
ChartDataEntry, x: 1614785208.967691, y 0.991
ChartDataEntry, x: 1614785210.975769, y 0.991
ChartDataEntry, x: 1614785212.955875, y 0.991
ChartDataEntry, x: 1614785214.965197, y 0.991
ChartDataEntry, x: 1614785216.975696, y 0.991
ChartDataEntry, x: 1614785219.1346831, y 0.991
ChartDataEntry, x: 1614785220.965848, y 0.991
ChartDataEntry, x: 1614785222.975051, y 0.991
ChartDataEntry, x: 1614785224.9565182, y 0.991
ChartDataEntry, x: 1614785226.966433, y 0.991
ChartDataEntry, x: 1614785229.103004, y 0.991
ChartDataEntry, x: 1614785230.9857922, y 0.991
ChartDataEntry, x: 1614785232.967946, y 0.991
ChartDataEntry, x: 1614785234.975894, y 0.991
ChartDataEntry, x: 1614785236.956592, y 0.991
ChartDataEntry, x: 1614785239.074161, y 0.991
ChartDataEntry, x: 1614785240.975193, y 0.991
ChartDataEntry, x: 1614785242.9857259, y 0.991
ChartDataEntry, x: 1614785244.965792, y 0.991
ChartDataEntry, x: 1614785246.9759479, y 0.991
ChartDataEntry, x: 1614785248.9633179, y 0.991
ChartDataEntry, x: 1614785250.966083, y 0.991
ChartDataEntry, x: 1614785252.976318, y 0.991
ChartDataEntry, x: 1614785254.986141, y 0.991
ChartDataEntry, x: 1614785256.967488, y 0.991
ChartDataEntry, x: 1614785259.1158872, y 0.991
ChartDataEntry, x: 1614785260.956368, y 0.991
ChartDataEntry, x: 1614785262.9659882, y 0.991
ChartDataEntry, x: 1614785264.976313, y 0.991
ChartDataEntry, x: 1614785266.985646, y 0.991
ChartDataEntry, x: 1614785269.0844579, y 0.991
ChartDataEntry, x: 1614785270.976632, y 0.991
ChartDataEntry, x: 1614785272.9602618, y 0.991
ChartDataEntry, x: 1614785274.967826, y 0.991
ChartDataEntry, x: 1614785276.9756331, y 0.991
ChartDataEntry, x: 1614785279.072011, y 0.991
ChartDataEntry, x: 1614785280.965191, y 0.991
ChartDataEntry, x: 1614785282.976002, y 0.991
ChartDataEntry, x: 1614785284.961197, y 0.991
ChartDataEntry, x: 1614785286.96648, y 0.991
ChartDataEntry, x: 1614785289.065036, y 0.991
ChartDataEntry, x: 1614785290.987951, y 0.991
ChartDataEntry, x: 1614785292.966114, y 0.991
ChartDataEntry, x: 1614785294.977217, y 0.991
ChartDataEntry, x: 1614785296.956558, y 0.991
ChartDataEntry, x: 1614785299.119581, y 0.991
ChartDataEntry, x: 1614785300.9764, y 0.991
ChartDataEntry, x: 1614785302.986428, y 0.991
ChartDataEntry, x: 1614785304.966166, y 0.991
ChartDataEntry, x: 1614785306.9753962, y 0.991
ChartDataEntry, x: 1614785309.027044, y 0.991
ChartDataEntry, x: 1614785310.969715, y 0.991
ChartDataEntry, x: 1614785312.97675, y 0.991
ChartDataEntry, x: 1614785314.9868798, y 0.991
ChartDataEntry, x: 1614785316.9663491, y 0.991
ChartDataEntry, x: 1614785319.0813031, y 0.991
ChartDataEntry, x: 1614785320.956367, y 0.991
ChartDataEntry, x: 1614785322.9666471, y 0.991
ChartDataEntry, x: 1614785324.9769058, y 0.991
ChartDataEntry, x: 1614785326.98715, y 0.991
ChartDataEntry, x: 1614785328.9843102, y 0.991
ChartDataEntry, x: 1614785330.9763288, y 0.991
ChartDataEntry, x: 1614785332.9563031, y 0.991
ChartDataEntry, x: 1614785334.966936, y 0.991
ChartDataEntry, x: 1614785336.976346, y 0.991
ChartDataEntry, x: 1614785339.132944, y 0.991
ChartDataEntry, x: 1614785340.9665232, y 0.991
ChartDataEntry, x: 1614785342.979737, y 0.991
ChartDataEntry, x: 1614785344.956133, y 0.991
ChartDataEntry, x: 1614785346.965726, y 0.991
ChartDataEntry, x: 1614785349.120785, y 0.991
ChartDataEntry, x: 1614785350.987602, y 0.991
ChartDataEntry, x: 1614785352.9668489, y 0.991
ChartDataEntry, x: 1614785354.9764419, y 0.991
ChartDataEntry, x: 1614785356.956486, y 0.991
ChartDataEntry, x: 1614785358.98696, y 0.991
ChartDataEntry, x: 1614785360.976424, y 0.991
ChartDataEntry, x: 1614785362.988548, y 0.991
ChartDataEntry, x: 1614785364.965759, y 0.991
ChartDataEntry, x: 1614785366.976481, y 0.991
ChartDataEntry, x: 1614785368.958562, y 0.991
ChartDataEntry, x: 1614785370.966631, y 0.991
ChartDataEntry, x: 1614785372.976834, y 0.991
ChartDataEntry, x: 1614785374.987607, y 0.991
ChartDataEntry, x: 1614785376.96706, y 0.991
ChartDataEntry, x: 1614785379.123537, y 0.991
ChartDataEntry, x: 1614785380.955958, y 0.991
ChartDataEntry, x: 1614785382.967941, y 0.991
ChartDataEntry, x: 1614785384.976526, y 0.991
ChartDataEntry, x: 1614785386.98716, y 0.991
ChartDataEntry, x: 1614785388.985211, y 0.991
ChartDataEntry, x: 1614785390.976666, y 0.991
ChartDataEntry, x: 1614785392.957298, y 0.991
ChartDataEntry, x: 1614785394.965919, y 0.991
ChartDataEntry, x: 1614785396.976544, y 0.991
ChartDataEntry, x: 1614785399.133047, y 0.991
ChartDataEntry, x: 1614785400.9662728, y 0.991
ChartDataEntry, x: 1614785402.9770842, y 0.991
ChartDataEntry, x: 1614785404.956984, y 0.991
ChartDataEntry, x: 1614785406.966075, y 0.991
ChartDataEntry, x: 1614785409.1181679, y 0.991
ChartDataEntry, x: 1614785410.9874969, y 0.991
ChartDataEntry, x: 1614785412.967212, y 0.991
ChartDataEntry, x: 1614785414.976887, y 0.991
ChartDataEntry, x: 1614785416.957048, y 0.991
ChartDataEntry, x: 1614785419.092342, y 0.991
ChartDataEntry, x: 1614785420.978112, y 0.991
ChartDataEntry, x: 1614785422.987109, y 0.991
ChartDataEntry, x: 1614785424.965636, y 0.991

@kscheff
Copy link

kscheff commented Mar 6, 2021

may be this is the same issue like here #4592

@karkadah
Copy link

Hi, LineChartView can't handle decreasing x values in dataset, I can't sort it because I need to represent a closed envelope. is there any solution?

@jjatie
Copy link
Collaborator

jjatie commented Apr 26, 2021

@karkadah #4596 should solve your issue. Please follow-up there confirming whether or not it does.

@karkadah
Copy link

karkadah commented Apr 26, 2021

@karkadah #4596 should solve your issue. Please follow-up there confirming whether or not it does.

Well I tried, unsuccesfully. With modifications in your link the code did not draw a graph with my y values [5733.0,6615,7938,8158,9921,10450] and x values [225.47,242.99,242.99,242.76,240.94,240.43]. In original state it was crashing and now it just does not draw. And in "Testing details" there is a note: "The partitioningIndex function relies on the premise that the collection is already partitioned/sorted(!)" so I guess it can`t work unsorted..? What I can do is switch x and y and it works then, but I really need x horizontal and y vertical.. any trick to rotate all by 90 deg?:)

@jjatie
Copy link
Collaborator

jjatie commented Apr 26, 2021

Correct. Sorted data sets have been a (largely hidden) requirement for a while now.

@karkadah
Copy link

karkadah commented Apr 26, 2021

Correct. Sorted data sets have been a (largely hidden) requirement for a while now.

What I can do is to switch x and y and it works then, but I really need x horizontal and y vertical.. any trick to rotate all by 90 deg?:) I mean including labels, legend etc

@jjatie
Copy link
Collaborator

jjatie commented Apr 26, 2021

Please file a new issue as this is now a separate topic.

@ChartsOrg ChartsOrg locked as off-topic and limited conversation to collaborators Apr 26, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests