ios - कोरलोट ग्राफ़ के लिए टिक लेबल बदलें




swift swift2 (2)

मैं अपने मैक आवेदन में ग्राफ़ के लिए coreplot का उपयोग कर रहा हूं और इसका काम ठीक है। मेरे जैसे अक्षरों के लिए अक्ष के साथ custom labels दिखाने की आवश्यकता है:

मेरे पास समय के साथ विद्युत मानों का ग्राफ है: Power values -> Y-Axis और Time -> X-Axis

I want to draw graph for Time seconds values but show fixed intervals ticks of minutes along x-axis for which i figured that i should use custom labels but its not happening for me.

कस्टम लेबल के लिए कोड है:

  let graph = CPTXYGraph()

  plots[0].identifier = PlotType.target.rawValue
  plots[1].identifier = PlotType.user.rawValue

  for plot in plots {
     plot.dataSource = self
     plot.delegate = self
     graph.addPlot(plot)
  }

  if let plotArea = graph.plotAreaFrame {
     plotArea.borderLineStyle = nil
     plotArea.paddingLeft = 25.0
     plotArea.paddingBottom = 20.0
     plotArea.paddingRight = 10.0
     plotArea.paddingTop = 20.0
  }

  guard let axisSet = graph.axisSet else { return }

  let xAxis = axisSet.axes?[0]
  var xLabels = [CPTAxisLabel]()
  var xLocations = [NSNumber]()

  let doubleSecs = Double(activity.durationSeconds)
  let labels = [0.0, doubleSecs * 0.25, doubleSecs * 0.50, doubleSecs * 0.75, doubleSecs]
  for label in labels {
     let xLabel = CPTAxisLabel(text: "\(label/60)", textStyle: axisTextStyle)
     xLabel.tickLocation = NSNumber(double: label)
     xLocations.append(NSNumber(double: label))
     xLabels.append(xLabel)
  }
  xAxis?.labelingPolicy = CPTAxisLabelingPolicy.LocationsProvided
  xAxis?.labelFormatter = axisFormatter
  xAxis?.axisLabels = Set(xLabels)
  xAxis?.majorTickLocations = Set(xLocations)

  chartView.hostedGraph = graph

उपरोक्त कोड के साथ यह ग्राफ़ और एक्स-एक्स के साथ चित्र बना रहा है, यह 4 बराबर भागों में विभाजित है और लेबल दिखा रहा है, सब कुछ ठीक है।

I want to show labels along x-axis as minutes and remaining drawing is ok.

मैंने इसके साथ कोशिश की: let xLabel = CPTAxisLabel(text: "\(label/60)", textStyle: axisTextStyle()) लेकिन लेबल्स कोई प्रभाव नहीं बदल रहे हैं।

इसके अलावा tickLocation को बदलने की कोशिश की: xLabel.tickLocation = NSNumber(double: label/60) कोई प्रभाव नहीं

जैसे प्रमुख majorTickLocations बदलने के साथ: xLocations.append(NSNumber(double: label/60)) यह अजीब व्यवहार कर रहा है और सभी एक्स-अक्ष लेबल गड़बड़ कर रहे हैं।

मैंने इस उदाहरण का पालन करने की कोशिश की: StackOverFlow Post

क्या कोई गलत दिशा में मार्गदर्शन कर सकता है [याद रखें मैं स्विफ्ट का उपयोग कर रहा हूं]?


मैंने इसे स्वयं कर कर इसे हल किया:

  let xAxis = axisSet.axes?[0]
  xAxis?.majorIntervalLength = activity.durationSeconds / 60 / 4
  xAxis?.labelingPolicy = CPTAxisLabelingPolicy.FixedInterval

अब लेबल आवश्यकतानुसार आ रहे हैं


.LocationsProvided की .LocationsProvided लेबलिंग पॉलिसी लेबल का उपयोग करती labelFormatter को स्वचालित रूप से टिक स्थानों से लेबल्स बनाने के लिए। यदि आप कस्टम लेबल का उपयोग करना चाहते हैं, तो इसका प्रयोग करें। इसके बजाय किसी .None लेबलिंग नीति का उपयोग नहीं करें।