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
Same here
same here
Me too... Seems like min/max values are in wrong order.
same here
But you hint me, you recently update the library, thus I can turn to a lower version to solve the problem temporarily.
Downgraded the library from 3.3.0 to 3.2.2 and it works fine for now.
Same here. Even after downgraded the versions to 3.2.2 :/
Same here. Even after downgraded the versions to 3.2.2 :/
3.2.2 is fine. I recommend you clean xCode and run again.
@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)
@psseelman It work! Thanks!
same here
@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.
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.
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.
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.
@jjatie do you know what could be wrong?
same here
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.
I had the same problem.
How I solved this problem:
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}
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.
I know that this is not the best solution =)
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
_elements ClosedRange
lowerBound Int 0
upperBound Int 0
_position ClosedRange
inRange Int 0
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.
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.
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
@danielgindi any idea if this is by design or a defect? since I remember we need x values to be sorted?
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)
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.
same here
Why was this issue closed? It has not been fixed yet as far as I can tell.
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.
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 isfileprivate 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
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
... 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
may be this is the same issue like here #4592
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?
@karkadah #4596 should solve your issue. Please follow-up there confirming whether or not it does.
@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?:)
Correct. Sorted data sets have been a (largely hidden) requirement for a while now.
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
Please file a new issue as this is now a separate topic.
Most helpful comment
@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.