标签: ios-charts

如何删除ios图表条形图中每个条形图上方的值标签

每个条形图都有一个高于它的值,但每当我得到太多的数据条目时,这些值就会互相溢出并使它们自己变得不可读.编辑这些我能找到的唯一方法是将它们设置在每个条形的上方或下方.但是我想完全隐藏它们.我如何在swift中执行此操作?

ios swift ios-charts

8
推荐指数
3
解决办法
8877
查看次数

如何调试缺少的数据集

我正在为健康应用程序开发图形实现,用户可以选择要绘制的字段.

有些字段组合从未出现在图表上.

问题餐巾纸

从我到目前为止所做的调试,我可以看到所有字段的值都是正确创建的.

所以最终我的问题是,为什么"重量移动平均线"没有线

但我真的想知道如何调试这个问题.什么是建议的下一步到底?

码:

if (isMovingAverage) {
        dataset.mode = LineChartModeCubicBezier;
        dataset.cubicIntensity = 0.1;
        dataset.lineWidth = 2;
        dataset.highlightEnabled = NO;
        [dataset setColor: baseColor];
        dataset.fillAlpha = 1.f;
        dataset.drawCirclesEnabled = NO;

        NSArray *gradientColors = @[
                                    (id)[UIColor whiteColor].CGColor,
                                    (id)baseColor.CGColor
                                    ];
        CGGradientRef gradient = CGGradientCreateWithColors(nil, (CFArrayRef)gradientColors, nil);

        dataset.fillAlpha = 1.f;
        dataset.fill = [ChartFill fillWithLinearGradient:gradient angle:90.f];
        dataset.drawFilledEnabled = YES;

        dataset.drawHorizontalHighlightIndicatorEnabled = NO;

        CGGradientRelease(gradient);

        NSLog(@"Dataset: %@", dataset);
    }
Run Code Online (Sandbox Code Playgroud)

调试输出:

Formatting: Weight Moving Avg
2017-07-28 17:06:49.425518+0100 BodyTrackItLite[5239:1893083] Using color: UIExtendedSRGBColorSpace 0.07 0.62 0.64 1
2017-07-28 17:06:49.426723+0100 …
Run Code Online (Sandbox Code Playgroud)

ios-charts

8
推荐指数
1
解决办法
95
查看次数

iOS-Charts Float to Integer YAxis

我正在使用iOS图表构建图表 IOS CHART

我正在尝试将浮点数转换为int,但iOS图表仅允许数据条目中的浮点数:

      let result = ChartDataEntry(value: Float(month), xIndex: i)
Run Code Online (Sandbox Code Playgroud)

有谁知道确保只使用整数的方法?

ios swift ios-charts

7
推荐指数
2
解决办法
5497
查看次数

NSNumberFormatter:大量显示'k'而不是',000'?

如果可能的话,我想将我的大数字从100,000改为$ 100K.

这是我到目前为止:

let valueFormatter = NSNumberFormatter()
valueFormatter.locale = NSLocale.currentLocale()
valueFormatter.numberStyle = .CurrencyStyle
valueFormatter.maximumFractionDigits = 0
Run Code Online (Sandbox Code Playgroud)

我的问题

使用NSNumberFormatter,我如何输出$ 100K而不是$ 100,000?


我原来的问题:

这是我到目前为止:

self.lineChartView.leftAxis.valueFormatter = NSNumberFormatter()
self.lineChartView.leftAxis.valueFormatter?.locale = NSLocale.currentLocale()
self.lineChartView.leftAxis.valueFormatter?.numberStyle = .CurrencyStyle
self.lineChartView.leftAxis.valueFormatter?.maximumFractionDigits = 0
Run Code Online (Sandbox Code Playgroud)

其中翻译为:

let valueFormatter = NSNumberFormatter()
valueFormatter.locale = NSLocale.currentLocale()
valueFormatter.numberStyle = .CurrencyStyle
valueFormatter.maximumFractionDigits = 0
Run Code Online (Sandbox Code Playgroud)

我的输出如下:

在此输入图像描述

我的问题

使用NSNumberFormatter,我如何输出$ 100K而不是$ 100,000?


更新:

我想提供有关最新情况的背景,观看评论.

func setDollarsData(months: [String], range: Double) {

    var dataSets: [LineChartDataSet] = [LineChartDataSet]()

    var yVals: [ChartDataEntry] = [ChartDataEntry]()
    for var i = 0; i < months.count; i++ …
Run Code Online (Sandbox Code Playgroud)

nsnumberformatter currency-formatting swift ios-charts

7
推荐指数
2
解决办法
2550
查看次数

ios图表中的圆形条形图

我使用ios-Charts创建了一个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)
Run Code Online (Sandbox Code Playgroud)

我找了一个喜欢set1.barCornerRadius设置的房产,但我没找到任何东西.

这是我有的:

平方吧

这就是我需要的:

圆棒

ios swift ios-charts

7
推荐指数
3
解决办法
4951
查看次数

BarChart中酒吧的不同颜色取决于价值

如何在条形图中更改单个条形的颜色(取决于其值)?例如:我的条形图中有五个不同的值(=五个不同的条形图).值小于30的所有条形应为红色,所有条形在30到70橙色之间,所有70以上的条形应为绿色.

swift ios-charts

7
推荐指数
1
解决办法
3645
查看次数

如何在ios-chart中为数据添加"%"

图表,这是我的代码:

private func setChart(pieChartView: PieChartView, values: [Double]) {

    var dataEntries: [PieChartDataEntry] = []

    let dataPoints = ["Mar","Apr","May"]

    for i in 0..<dataPoints.count {
        let dataEntry = PieChartDataEntry(value: values[i], label: dataPoints[i])
        dataEntries.append(dataEntry)
    }

    let pieChartDataSet = PieChartDataSet(values: dataEntries, label: "")
    pieChartDataSet.colors = [UIColor(red: 47/255, green: 164/255, blue: 59/255, alpha: 1.0),UIColor(red: 17/255, green: 128/255, blue: 127/255, alpha: 1.0),UIColor.orange]
    let pieChartData = PieChartData(dataSet: pieChartDataSet)
    pieChartView.data = pieChartData
    pieChartView.centerText = "Amount Spent"
    pieChartView.chartDescription?.text = ""
    pieChartView.usePercentValuesEnabled = true
    pieChartView.legend.horizontalAlignment = .center

}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如何在PieChart数据中添加"%"?NSNumberFormatter()不再可用

- - …

swift ios-charts

7
推荐指数
1
解决办法
1970
查看次数

ios-charts设置数据后如何无效/重绘

请参阅底部更新(4/30/2015)

我正在使用ios-charts在Swift for iOS中实现一个饼图,并选择自定义图例.值得注意的是,图表显示在UICollectionView的单元格中.问题是,在第一次显示时,不显示自定义图例内容.相反,我获得了从数据生成的图例内容.

如果我在屏幕外滚动视图,然后将其滚动回屏幕,则会显示正确的自定义图例.所以,我猜我需要在设置自定义图例后强制重绘/重新布局/重新设置.我还没弄明白怎么做. 有没有人有想法?我完全错过了什么吗?谢谢!

初始显示图表 - 数据生成(错误)图例 初始显示图表 - 生成的图例

滚动并返回到屏幕后的图表 - (正确的图例) 带有适当图例的图表

这是我绘制此图表的代码:

func initChart(pieChart: PieChartView) {
    numFormatter.maximumFractionDigits = 0

    pieChart.backgroundColor = UIColor.whiteColor()

    pieChart.usePercentValuesEnabled = false
    pieChart.drawHoleEnabled = true
    pieChart.holeTransparent = true
    pieChart.descriptionText = ""
    pieChart.centerText = "30%\nComplete"

    pieChart.data = getMyData()

    // Setting custom legend info, called AFTER setting data
    pieChart.legend.position = ChartLegend.ChartLegendPosition.LeftOfChartCenter
    pieChart.legend.colors = [clrGreenDk, clrGold, clrBlue]
    pieChart.legend.labels = ["Complete","Enrolled","Future"]
    pieChart.legend.enabled = true
}

func getMyData() -> ChartData {

    var xVals = ["Q201","R202","S203","T204","U205", "V206"]

    var courses: [ChartDataEntry] = …
Run Code Online (Sandbox Code Playgroud)

mpandroidchart ios-charts

6
推荐指数
1
解决办法
6654
查看次数

iOS图表反转X轴方向

我有一个使用Daniel Gindi iOS图表构建的条形图.它代表一段时间内的历史数据.我遇到的问题是数据是从左到右(新数据 - >旧数据)绘制的.我需要将它绘制为从右到左(旧数据 - >新数据).我知道我可以颠倒我输入数据的顺序BarChartData,但后来我的图表问题仍然是左对齐.它需要正确对齐.我在这里讨论了讨论反转x轴的问题以及如何解决它(目前不是框架的一个包含特性),但是我无法弄清楚实际需要做什么.以下是我需要的例子:

这就是我的图表目前的样子:

在此输入图像描述

这就是我需要的样子:

在此输入图像描述

我的问题

有没有办法颠倒x轴?

要么

有没有办法正确对齐图表?

以下是我的一些代码并尝试解决此问题:

class ViewController: UIViewController {

    @IBOutlet weak var barChartView: BarChartView!

    //...

    func plotChart() {

        // Create history data
        //...

        barChartView.data = chartData  // 'chartData' is the BarChartData() containing all of the history information

        // No efect
        barChartView.legend.direction = .RightToLeft

        // Chart breaks
        barChartView.leftAxis.axisMinValue = 30
        barChartView.leftAxis.axisMaxValue = 0

        // Breaks the ability to zoom
        barChartView.setVisibleXRangeMinimum(CGFloat(40))
        barChartView.setVisibleXRangeMaximum(CGFloat(1))

    }

}
Run Code Online (Sandbox Code Playgroud)

charts ios swift ios-charts

6
推荐指数
1
解决办法
1338
查看次数

ios Charts 3.0 - 使用图表对齐x标签(日期)

我很难将库图表(来自Daniel Gindi)从版本2(Swift 2.3)迁移到3(Swift 3).

基本上,我不能让x标签(日期)与相应的图正确对齐.

这是我之前在第2版中所拥有的:

在版本2中,我有第7天,第8天,第10天和第11天的值.所以我错过了中间的一天,但标签正确地与图表一起使用. 图表2


这是我在版本3中的内容:

在版本3中,x轴中的"标签"现在已被替换为double(对于日期,它是自1970年以来的timeInterval),并通过格式化程序进行格式化.因此,无可否认,图表现在更"正确",因为图表正确地推断出第9个值,但我找不到如何将标签放在相应的图表下面. 图3

这是我的x轴代码:

 let chartView = LineChartView()
 ...
 let xAxis = chartView.xAxis
 xAxis.labelPosition = .bottom
 xAxis.labelCount = entries.count
 xAxis.drawLabelsEnabled = true
 xAxis.drawLimitLinesBehindDataEnabled = true
 xAxis.avoidFirstLastClippingEnabled = true

 // Set the x values date formatter
 let xValuesNumberFormatter = ChartXAxisFormatter()
 xValuesNumberFormatter.dateFormatter = dayNumberAndShortNameFormatter // e.g. "wed 26"
 xAxis.valueFormatter = xValuesNumberFormatter
Run Code Online (Sandbox Code Playgroud)

这是我创建的ChartXAxisFormatter类:

import Foundation
import Charts

class ChartXAxisFormatter: NSObject {
    var dateFormatter: DateFormatter?
}

extension ChartXAxisFormatter: IAxisValueFormatter {

    func stringForValue(_ value: Double, axis: AxisBase?) -> String …
Run Code Online (Sandbox Code Playgroud)

swift ios-charts

6
推荐指数
2
解决办法
6465
查看次数