swift - In ios-charts how to set the maximum value for y-axis? -
i using ios-charts display horizontal barchart 1 value this:
var dataentries: [barchartdataentry] = [] let dataentry = barchartdataentry(value: self.deductible!.deductiblepaid, xindex: 0) dataentries.append(dataentry) let chartdataset = barchartdataset(yvals: dataentries, label: "deductible") let chartdata = barchartdata( xvals: datapoints, dataset: chartdataset) self.horizontalbarchart!.data = chartdata self.horizontalbarchart!.leftaxis.customaxismax = 3000.0 self.horizontalbarchart!.leftaxis.startatzeroenabled = false chartdataset.colors = chartcolortemplates.vordiplom() i have tried set maximum value yaxis not effecting graph. edit: please see screenshot here : http://postimg.org/image/ogoj2t02f/ need bar should show upper limit upto 3000 (or amount specified dynamically) instead of calculated upper limit.
i changed code make it, here have currently:
self.horizontalbarchart!.nodatatext = "you need provide data chart." self.horizontalbarchart!.setvisibleyrangemaximum(3000, axis: chartyaxis.axisdependency.left) self.horizontalbarchart!.descriptiontext = "" var dataentries: [barchartdataentry] = [] let dataentry = barchartdataentry(value: self.deductible!.deductiblepaid, xindex: 0) dataentries.append(dataentry) let chartdataset = barchartdataset(yvals: dataentries, label: " ") self.horizontalbarchart!.nodatatext = "you need provide data chart." self.horizontalbarchart!.setviewportoffsets(left: 0, top: 0, right: 0, bottom: 0); let chartdata = barchartdata( xvals: datapoints, dataset: chartdataset) self.horizontalbarchart!.autoscaleminmaxenabled = false self.horizontalbarchart!.data = chartdata self.horizontalbarchart!.leftaxis.axismaximum = 1600 self.horizontalbarchart!.leftaxis.axisminimum = 00 self.horizontalbarchart!.rightaxis.axismaximum = 1600 //self.horizontalbarchart!.leftaxis.customaxismax = 3000.0 //self.horizontalbarchart!.leftaxis.startatzeroenabled = false chartdataset.colors = chartcolortemplates.vordiplom() self.horizontalbarchart!.xaxis.labelposition = .top self.horizontalbarchart!.backgroundcolor = uicolor(red: 189/255, green: 195/255, blue: 199/255, alpha: 1) self.horizontalbarchart!.animate(xaxisduration: 2.0, yaxisduration: 2.0) please let me know if unclear , need more details. has been more challenging thought be! here appreciated.
second edit: have following code :
func sethorizontalbarchartdata() { self.horizontalbarchart!.descriptiontext = "" var dataentries: [barchartdataentry] = [] let dataentry = barchartdataentry(value: 900, xindex: 0) dataentries.append(dataentry) let chartdataset = barchartdataset(yvals: dataentries, label: " ") self.horizontalbarchart!.nodatatext = "you need provide data chart." //self.horizontalbarchart!.setviewportoffsets(left: 0, top: 0, right: 0, bottom: 0); let deductible = [" "] let chartdata = barchartdata( xvals: deductible, dataset: chartdataset) self.horizontalbarchart!.data = chartdata self.horizontalbarchart!.leftaxis.startatzeroenabled = false self.horizontalbarchart!.rightaxis.startatzeroenabled = false self.horizontalbarchart!.rightaxis.customaxismax = 3000 self.horizontalbarchart!.rightaxis.customaxismin = 10 chartdataset.colors = chartcolortemplates.vordiplom() self.horizontalbarchart!.xaxis.labelposition = .top self.horizontalbarchart!.backgroundcolor = uicolor(red: 189/255, green: 195/255, blue: 199/255, alpha: 1) self.horizontalbarchart!.animate(xaxisduration: 2.0, yaxisduration: 2.0) } i still getting same thing : http://postimg.org/image/ogoj2t02f/ need 1 bar values upto 3000 , bar chart coming upto 900. please ?
customaxismax should able you. works fine on side.
what might missing is, setting leftaxis, should know there rightaxis well. not sure using.
if take barlinechartviewbase.swift', there code in
internal override func calcminmax:
_leftaxis.axismaximum = !isnan(_leftaxis.customaxismax) ? _leftaxis.customaxismax : (maxleft + topspaceleft) _rightaxis.axismaximum = !isnan(_rightaxis.customaxismax) ? _rightaxis.customaxismax : (maxright + topspaceright) _leftaxis.axisminimum = !isnan(_leftaxis.customaxismin) ? _leftaxis.customaxismin : (minleft - bottomspaceleft) _rightaxis.axisminimum = !isnan(_rightaxis.customaxismin) ? _rightaxis.customaxismin : (minright - bottomspaceright) it reads customaxismax or customaxismin once set it. need double check axis using.
edit second edit:
i change demo code, want?
code in ios-charts demo, try in demo code:
- (void)setdatacount:(int)count range:(double)range { nsmutablearray *xvals = [[nsmutablearray alloc] init]; [xvals addobject:months[0]]; nsmutablearray *yvals = [[nsmutablearray alloc] init]; [yvals addobject:[[barchartdataentry alloc] initwithvalue:900 xindex:0]]; barchartdataset *set1 = [[barchartdataset alloc] initwithyvals:yvals label:@"dataset"]; set1.barspace = 0.35; nsmutablearray *datasets = [[nsmutablearray alloc] init]; [datasets addobject:set1]; barchartdata *data = [[barchartdata alloc] initwithxvals:xvals datasets:datasets]; [data setvaluefont:[uifont fontwithname:@"helveticaneue-light" size:10.f]]; _chartview.leftaxis.startatzeroenabled = no; _chartview.rightaxis.startatzeroenabled = no; _chartview.rightaxis.enabled = no; _chartview.leftaxis.customaxismax = 3000; _chartview.leftaxis.customaxismin = 10; _chartview.data = data; } screenshot: 
Comments
Post a Comment