ios图表中的圆形条形图

时间:2016-06-20 10:31:01

标签: ios swift ios-charts

我使用ios-Charts中的Invalid CAPTCHA action ID: site/captcha 创建了一个BarChart,但我无法弄清楚如何向条形添加圆角。

这是我正在使用的代码:

BarChartView

我找了一个像let barChart: BarChartView //... var xVals = [String]() var yVals = [BarChartDataEntry]() //... let set1 = BarChartDataSet(yVals: yVals, label: "Label") set1.drawValuesEnabled = false set1.highlightLineWidth = 3 set1.colors = [UIColor.whiteColor()] barChart.data = BarChartData(xVals: xVals, dataSet: set1) 这样的属性来设置,但我找不到任何东西。

这是我拥有的

squared bar

以下是我需要的内容

rounded bar

4 个答案:

答案 0 :(得分:12)

BarChartRenderer.swift中,您可以修改open func drawDataSet(context: CGContext, dataSet: IBarChartDataSet, index: Int)

然后有if-statement堆叠和非堆叠条形图,选择你的情况并删除:

context.fill(barRect)

而不是添加:

let bezierPath = UIBezierPath(roundedRect: barRect, cornerRadius: %YOUR_CORNER_RADIUS%)
context.addPath(bezierPath.cgPath)

context.drawPath(using: .fill)

答案 1 :(得分:0)

似乎目前不支持此功能,但is under development。同时看看this pull request

答案 2 :(得分:0)

使用 UIView 的圆形条形图:

<div class="lds-spinner"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div>

在这里, BAR_WIDTH_CONSTANT 是每个条的宽度。

答案 3 :(得分:0)

如果您不想等待this pull request合并到原始库中,那么有一个可行的解决方案可供我在几个项目中使用。

该工作示例基于我在Internet上收集的所有先前数据。它从今天起就可以使用,但是在使用它之前您必须采取一些预防措施。

要使其正常工作,您要做的就是替换整个BarChartRenderer.swift文件with this one

首先,拥有原始文件的备份副本。然后,确保每次更新Charts CocoaPod时都替换文件,否则,该文件将被覆盖。

最后,要控制图表的拐角半径,只需将barCornerRadius = CGFloat(5.0)更改为所需的值即可。

这是我得到的最终结果:

enter image description here

替换文件后,请确保清理Xcode的build文件夹,然后重新编译项目以使更改立即生效。