iOS 图表 Swift 条形图超出视野

iOS Charts Swift bar graph exceeds beyond view

我的图表库有问题。我面临的问题是条形图不在我的视图范围内 "fit"。下图显示,第一个和最后一个条都被切成两半,最高条的标签也被部分切掉。

Bars and labels are cut along the graph borders

当我在线搜索时,我得到了以下线程 https://github.com/danielgindi/Charts/issues/353,它似乎描述了完全相同的问题。

我使用一个简单的数据集,其中包含 6 个索引处的一些随机数。数据添加到图表如下:

let values: [Int] = [5, 8, 1, 2, 1, 2]
var dataEntries: [BarChartDataEntry]

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

let chartDataSet = BarChartDataSet(values: dataEntries, label: "Count")
let chartData = BarChartData(dataSet: chartDataSet)
barChartView.data = chartData

希望有人能帮助我。提前致谢!

您可以将偏移添加到顶视图和底视图,如下所示:

 barChartView.extraTopOffset = 40.0f;
 barChartView.extraBottomOffset = 10.0f;

库中存在关于计算 xAxis 最小值和最大值的错误。

您可以手动设置 xAxis 的最小值和最大值,以防止第一个和最后一个柱形显示一半。

添加以下代码行,它应该可以正常工作。

yourBarChartView.xAxis.axisMinimum = -0.5;
yourBarChartView.xAxis.axisMaximum = Double(yourAxisDataList.count) - 0.5;

如果是垂直条形图

barChartView.xAxis.spaceMin   = 5.0f;
barChartView.xAxis.spaceMax   = 5.0f;

如果是水平条形图

barChartView.leftAxis.spaceBottom = 0.0 

或 barChartView.rightAxis.

您可以尝试将条形图的 xAxis 值编辑为 -0.99... 到 -0.5 之间的值。 检查这个例子:

有:yourBarChart.xAxis.axisMinimum = -0.5

有:yourBarChart.xAxis.axisMinimum = -0.99