iOS图表,水平条不准确

iOS图表,水平条不准确,ios,swift,bar-chart,ios-charts,Ios,Swift,Bar Chart,Ios Charts,我试图得到一个水平条形图,其中包含实时数据更改。不过我有这个问题 正如你所看到的,除了最长的一条外,所有的条都不准确 下面是我的代码 class HorizontalBarChartViewController: UIViewController { var values: [Double] = [0.0, 0.0, 0.0, 0.0, 0.0] var moods = ["Annoiato", "Ansioso", "Stanco", "Triste", "Altro"] @IBOutl

我试图得到一个水平条形图,其中包含实时数据更改。不过我有这个问题

正如你所看到的,除了最长的一条外,所有的条都不准确

下面是我的代码

class HorizontalBarChartViewController: UIViewController {

var values: [Double] = [0.0, 0.0, 0.0, 0.0, 0.0]
var moods = ["Annoiato", "Ansioso", "Stanco", "Triste", "Altro"]

@IBOutlet weak var chart: HorizontalBarChartView!

func updateCharts() {
    var chartDataEntry = [BarChartDataEntry]()

    for i in 0..<values.count {
        let value = BarChartDataEntry(x: Double(i), y: values[i])
        chartDataEntry.append(value)
    }

    let chartDataSet = BarChartDataSet(values: chartDataEntry, label: "Sigarette fumate")
    chartDataSet.drawValuesEnabled = false
    chartDataSet.colors = [NSUIColor.green]

    let chartMain = BarChartData()
    chartMain.barWidth = 0.1

    chartMain.addDataSet(chartDataSet)
    chart.animate(yAxisDuration: 0.5)
    chart.data = chartMain
}

func configureCharts() {
    chart.xAxis.valueFormatter = IndexAxisValueFormatter(values: moods)
    chart.xAxis.granularity = 1.0
    chart.xAxis.labelPosition = .bottom
    chart.xAxis.drawGridLinesEnabled = false

    chart.leftAxis.enabled = false
    chart.rightAxis.granularity = 1.0
    chart.rightAxis.axisMinimum = 0.0


    guard let description = chart.chartDescription else {return}
    description.text = ""
}

如何将这些条与右y轴的正确网格线匹配

这是解决方案。请检查:

func configureCharts() {
    chart.xAxis.valueFormatter = IndexAxisValueFormatter(values: moods)
    chart.xAxis.granularity = 1.0
    chart.xAxis.labelPosition = .bottom
    chart.xAxis.drawGridLinesEnabled = false

    chart.rightAxis.granularity = 1.0
    chart.rightAxis.axisMinimum = 0.0
    chart.leftAxis.axisMinimum = 0.0    //here's the missing line

    guard let description = chart.chartDescription else {return}
    description.text = ""
}

对于ios图表,最好的调试方法是将断点放在渲染器上,让您自己看看那里画了什么以及为什么。@Elia如何创建水平条?@ShubhamOjha hi,看看我的代码和Vini应用程序的解决方案:)
func configureCharts() {
    chart.xAxis.valueFormatter = IndexAxisValueFormatter(values: moods)
    chart.xAxis.granularity = 1.0
    chart.xAxis.labelPosition = .bottom
    chart.xAxis.drawGridLinesEnabled = false

    chart.rightAxis.granularity = 1.0
    chart.rightAxis.axisMinimum = 0.0
    chart.leftAxis.axisMinimum = 0.0    //here's the missing line

    guard let description = chart.chartDescription else {return}
    description.text = ""
}