标签: ios-charts

用户单击Chart时创建MarkerView

当用户使用图表(是iOS图表)为Swift点击条形图中的栏时,我搜索并搜索了如何显示MarkerView.

该文档声明该库能够使用MarkerViews"突出显示值(使用可自定义的弹出视图)",但我不知道如何显示它.

当用户点击条形图中的条形图时,我想要一个小工具提示,如下图所示.

条形图上的工具提示: 在此输入图像描述

我已准备好chartValueSelected函数,当选中一个条时会触发该函数.

xcode bar-chart ios swift ios-charts

5
推荐指数
1
解决办法
6639
查看次数

iOS 图表 - 始终显示限制线

我在 iOS 上使用“Charts”库(由 Daniel Gindi 开发)。

我绘制了一个 LineChartView (那里没有问题),并且想要添加一条限制线来表示目标值:

let targetLine = ChartLimitLine(limit: targetValue, label: "")
lineChartView.leftAxis.addLimitLine(targetLine)
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是:如果图表的 y 值离目标太远,则限制线不会显示在图表上。

例子:

  • 目标为 80,最后值为 59:限制线不显示。 限制线未出现

  • 目标为 80,最后值为 79:限制线确实显示。 限制线出现

如何确保无论 y 值是多少,限制线始终出现?

附录:这是我的绘图代码的其余部分,它非常标准:

let chartView = LineChartView()
chartView.backgroundColor = UIColor.whiteColor()

chartView.dragEnabled = false
chartView.doubleTapToZoomEnabled = false
chartView.pinchZoomEnabled = false
chartView.highlightPerTapEnabled = false

chartView.descriptionText = ""
chartView.legend.enabled = false
chartView.rightAxis.enabled = false

// Set y axis
let yAxis = chartView.leftAxis
yAxis.removeAllLimitLines()
yAxis.drawZeroLineEnabled = true
yAxis.drawLimitLinesBehindDataEnabled = true
yAxis.valueFormatter = yValuesFormatter

// Set x …
Run Code Online (Sandbox Code Playgroud)

ios-charts

5
推荐指数
1
解决办法
4441
查看次数

如何在iOS图表中自定义数据点标签?

我正在尝试使线图中的数据点标签显示自定义字符串而不是实际数字(使用iOS图表/图表库).我想知道是否有类似IAxisFormatter的东西我用来格式化我的x和y轴标签.

我想知道是否有人知道在Swift中如何做到这一点?我似乎无法在网上找到任何例子.谢谢!

charts xcode swift ios-charts

5
推荐指数
1
解决办法
3317
查看次数

更改 iOS 图表库中的标签大小

我正在尝试更改图表下方标签的大小,这些标签的文本为“set1 的说明”和“set2 的说明”。更改集合的 valueFont 只会更改图表上数据点的字体/大小,而不是下面的 Eplanation 标签。

    var yVals1 = Array<BarChartDataEntry>()
    var yVals2 = Array<BarChartDataEntry>()

    yVals1.append(BarChartDataEntry(value: Double(number1), xIndex: 0))
    yVals2.append(BarChartDataEntry(value: Double(number2), xIndex: 0))

    var set1: BarChartDataSet?
    var set2: BarChartDataSet?

    set1 = BarChartDataSet(yVals: yVals1, label: "Explanation for set1")
    set1?.valueFont = UIFont(name: "Verdana", size: 14.0)!
    set1?.setColor(UIColor.redColor())
    set2 = BarChartDataSet(yVals: yVals2, label: "Explanation for set2")
    set2?.valueFont = UIFont(name: "Verdana", size: 14.0)!
    set2!.setColor(UIColor.blueColor())

    var data = BarChartData()
    data.addDataSet(set1)
    data.addDataSet(set2)
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我正在使用该库的 2.2.5 版。

当我增加 xAxis 标签的大小时

      mChart.xAxis.labelFont = UIFont(name: "HelveticaNeue-Light", size: 12.0)!
Run Code Online (Sandbox Code Playgroud)

到:

      mChart.xAxis.labelFont = …
Run Code Online (Sandbox Code Playgroud)

swift ios-charts

5
推荐指数
3
解决办法
6468
查看次数

水平条形图标签

我最近将我的一个客户项目从Swift2iOS-charts 2 升级到Swift3iOS-charts 3。

经过几天的手动调整后,大多数代码都按预期运行,但是,我的水平条形图仍然存在问题。

图表用于显示为:

在此输入图像描述

图表现在显示为:

在此输入图像描述

图表核心代码:

func drawMarginChart() {
    let labels = marginObject!.getLabelsForChart()
    let values = marginObject!.getValuesForChart()

    var dataEntries = [ChartDataEntry]()

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

    let barChartDataSet = BarChartDataSet(values: dataEntries, label: "")
    barChartDataSet.drawValuesEnabled = false
    barChartDataSet.colors = ChartColorTemplates.joyful()

    let barChartData = BarChartData(dataSet: barChartDataSet)
    barChartMargins.data = barChartData
    barChartMargins.legend.enabled = false

    barChartMargins.xAxis.valueFormatter = IndexAxisValueFormatter(values: labels)
    barChartMargins.xAxis.granularityEnabled = true
    barChartMargins.xAxis.granularity = 1

    barChartMargins.animate(xAxisDuration: 3.0, yAxisDuration: 3.0, easingOption: …
Run Code Online (Sandbox Code Playgroud)

swift ios-charts

5
推荐指数
1
解决办法
3656
查看次数

iOS 图表 - 仅在突出显示时绘制值

我只想在点击 iOS 图表时突出显示和显示价值。我启用了突出显示而不是值,因为我只在点击和突出显示时想要它们

lineChartDataSet.drawValuesEnabled = false
lineChartDataSet.highlightEnabled = true
Run Code Online (Sandbox Code Playgroud)

我需要这个功能吗?

func chartValueSelected(_ chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight) {}
Run Code Online (Sandbox Code Playgroud)

charts highlight ios ios-charts

5
推荐指数
1
解决办法
3440
查看次数

从 iOS 图表饼图中删除值标签

我有一个饼图,我试图从图表中删除值标签,因为它们会相互溢出,但似乎没有代码将其删除。

这是我一直在尝试删除它的代码:

chartIMG.drawEntryLabelsEnabled = false
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用。

我创建图表的代码:

func configure(dataPoints: [String], values: [Double]) {

    var dataEntries: [ChartDataEntry] = []

    for i in 0..<dataPoints.count {
        let dataEntry1 = PieChartDataEntry(value: Double(i), label: dataPoints[i], data:  dataPoints[i] as AnyObject)

        dataEntries.append(dataEntry1)
    }
    print(dataEntries[0].data)
    let pieChartDataSet = PieChartDataSet(values: dataEntries, label: "Symptoms")
    let pieChartData = PieChartData(dataSet: pieChartDataSet)
    chartIMG.data = pieChartData
    chartIMG.drawEntryLabelsEnabled = false
    chartIMG.chartDescription?.text = ""
    var colors: [UIColor] = []

    for _ in 0..<dataPoints.count {
        let red = Double(arc4random_uniform(256))
        let green = Double(arc4random_uniform(256))
        let blue = Double(arc4random_uniform(256)) …
Run Code Online (Sandbox Code Playgroud)

ios swift ios-charts

5
推荐指数
1
解决办法
2883
查看次数

如何在 danielgindi iOS 图表中创建多个 y 轴折线图?

我想创建一个具有多个 y 轴的图形。在danielgindi图表中可以使用决斗 y 轴图,但我想要更多的两个 y 轴图。如下图所示:

在此处输入图片说明

let set1 = LineChartDataSet(values: yVals1, label: "DataSet 1")
set1.axisDependency = .left
set1.setColor(UIColor(red: 51/255, green: 181/255, blue: 229/255, alpha: 1))
set1.setCircleColor(.white)
set1.lineWidth = 2
set1.circleRadius = 3
set1.fillAlpha = 65/255
set1.fillColor = UIColor(red: 51/255, green: 181/255, blue: 229/255, alpha: 1)
set1.highlightColor = UIColor(red: 244/255, green: 117/255, blue: 117/255, alpha: 1)
set1.drawCircleHoleEnabled = false

let set2 = LineChartDataSet(values: yVals2, label: "DataSet 2")
set2.axisDependency = .right
set2.setColor(.red)
set2.setCircleColor(.white)
set2.lineWidth = 2
set2.circleRadius = 3 …
Run Code Online (Sandbox Code Playgroud)

charts linechart ios swift ios-charts

5
推荐指数
1
解决办法
1663
查看次数

如何在ios-Charts中的条形图中将渐变应用于条形图

有没有办法用渐变填充条形图中的条形。我可以像下面的链接中解释的那样制作渐变:

let gradientColors = [UIColor.cyan.cgColor, UIColor.clear.cgColor] as CFArray // Colors of the gradient
let colorLocations:[CGFloat] = [1.0, 0.0] // Positioning of the gradient
let gradient = CGGradient.init(colorsSpace: CGColorSpaceCreateDeviceRGB(), 
colors: gradientColors, locations: colorLocations) // Gradient Object
Run Code Online (Sandbox Code Playgroud)

但如何将它应用到酒吧?

上一个问题Gradient Fill in Swift for iOS-Charts没有回答它,因为.fill它不可用BarChartDataSet

gradient swift ios-charts

5
推荐指数
1
解决办法
1971
查看次数

如何使用 iOS 图表库在底部轴上创建带有日期/时间的图表?

我目前正在使用iOS Library Charts并且在为x Axis实现TimeLine 时遇到了一些问题。

图书馆链接:https : //github.com/danielgindi/Charts

我有一个对象列表作为图表的输入。

let objectList : [Object] = fillObjectList()

class Object {
    var timeCreated : Date
    var value : Double
}
Run Code Online (Sandbox Code Playgroud)

我已经实现了一个解决方案,我只是将timeCreated.timeIntervalsince1970用作 x 轴的值。但这看起来不是那么好。

所以如果你们有使用iOS Charts Library的经验,希望你们能想出解决这个问题的办法。非常感谢您的帮助!

charts xcode ios swift ios-charts

5
推荐指数
1
解决办法
493
查看次数

标签 统计

ios-charts ×10

swift ×8

ios ×5

charts ×4

xcode ×3

bar-chart ×1

gradient ×1

highlight ×1

linechart ×1