问题标签 [ios-charts]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - 如何通过从不同的方法获取值在 iOS 图表中绘制点
我想通过从 json api 获取值来制作图表。我已经在 requestFinished 方法中定义了它,但我想在 setDataCount 方法中调用这些值。
我在 requestFinished 方法中将模型定义为:
现在我必须用 json 中的值 'val' 绘制点。我已经尝试了以下代码,我在其中随机生成数字并绘制它。取而代之的是,我怎样才能获得 val?
代码如下:
代替 yVals 我想做这样的事情:
但是我无法从 setDataCount 方法中的 requestFinished 方法中获取值。
我还想在一个视图中显示一个 iid 的图表。我该怎么做?
我正在使用 iOS 图表库。请帮忙。
mpandroidchart - ios-charts 设置数据后如何失效/重绘
见底部更新 (4/30/2015)
我正在使用 ios-charts 在 Swift for iOS 中实现饼图,并选择自定义图例。值得注意的是,图表显示在 UICollectionView 的单元格中。问题是在第一次显示时,自定义图例内容没有被显示。相反,我得到了从数据生成的图例内容。
如果我将视图滚动到屏幕外,然后将其滚动回屏幕上,则会显示正确的自定义图例。所以,我猜我需要在设置我的自定义图例后强制重绘/重新布局/重新设置。我还没想好怎么做。 有人有想法吗?我完全错过了什么吗?谢谢!
初始显示图表 - 数据生成(错误)图例
滚动并返回屏幕后的图表 - (正确的图例)
这是我绘制此图表的代码:
2015 年 4 月 30 日更新
根据与 MPAndroidChart(ios-charts 所基于)的作者的讨论,似乎在图表显示生命周期中没有一点可以覆盖“第一次绘制”的图例。基本上,图表是在创建时呈现的,无论如何。如果您在图表上设置数据,图表将使用该数据创建图例,然后进行渲染。无法更改设置数据点和图表渲染点之间的图例。
设置需求显示()
潜在地,可以等待图表呈现,更新图例,然后调用 chart.setNeedsDisplay() 以指示图表重绘。可悲的是,这存在时间问题。如果您在渲染图表后立即调用此方法,它要么不会触发,要么(更有可能)它触发得太快并被有效地忽略。在我的代码中,将此调用放在 viewDidLoad 或 viewDidAppear 中没有任何效果。然而...
在 Java 中为 Android 构建相同的图表(使用 MPAndroidChart)会导致相同的问题。在搞砸了一会儿之后,我注意到如果我在延迟后调用 chart.invalidate()(使用 Handler.postDelayed()),它会正确触发。事实证明,类似的方法适用于 iOS 上的 ios-charts。
如果使用 GCD 来延迟对 setNeedsDisplay() 的调用,即使在渲染后几毫秒,它似乎也能解决问题。在我的 ViewController 中初始化图表视图后,我立即添加了以下代码(“cell”是包含图表视图的 UICollectionViewCell):
使用此 SO 帖子中令人敬畏的“延迟”方法: https ://stackoverflow.com/a/24318861
显然,这是一个令人讨厌的 hack,但它似乎可以解决问题。不过,我不确定我是否喜欢在生产中使用这个 hack。
对于偶然发现这篇文章的任何 Android 用户:
下面的代码使用 MPAndroidChart 实现了同样的效果:
ios-charts - 使用 Swift 的 ios-charts 折线图中未显示负值
我使用 ios-charts 在我的折线图中有负值。显示正值,但在 0 处截断负值。我已将左右轴设置为不从 0 开始,但没有帮助。
有任何想法吗?TIA。
下面的代码片段。
mpandroidchart - 将饼图设置为不可触摸
我正在使用这个很棒的绘图仪框架 ios-charts。android 版本的文档指出,可以使用“setTouchEnabled(false)”禁用图表上的触摸事件。但是我在 iOS 版本中找不到此功能。“touchesBegan”可能是这里的路吗?我是新来的iOS 编程,所以我对触摸事件不太熟悉。
ios - iOS-Charts 空数据点不显示在图表上
就像 iOS 8 上的 Health 应用程序一样,当 X 轴标签仍然存在时,不会显示空/空数据点。使用iOS-Charts作为我项目的图表库是否可以实现相同的效果?
objective-c - 如何在核心图图表中显示更多 x 轴
根据我们的需要,我们需要在图表的顶部和底部显示x轴信息,如何显示更多的x轴?谢谢
ios - Swift:无法将 [CombinedChartView.DrawOrder] 类型的值分配给 [int] 的值
我正在使用https://github.com/danielgindi/ios-charts/ 我已经实现了委托:ChartViewDelegate
代码:
但我有这个错误:
我可以在 Obj-C 中使用 drawOrder,但不能在 Swift 中使用相同的代码。有没有办法解决这个问题?
ios - 无法为“图表”加载底层模块
我刚刚开始使用 iOS 图表库:
我按照主页(https://github.com/danielgindi/ios-charts)上“使用”下描述的所有步骤进行操作:
我添加了一个
UIView
并使其成为 LineChartView 的子类
--> in ViewController.swift
: 该行import Charts
给出错误:Cannot load underlying module for 'Charts'
这是为什么 ?
谢谢 !
ios - iOS-Charts:根据 PieChart 的 Pie 位置设置 UIImageViews?
我目前正在使用 iOS-Charts ( https://github.com/danielgindi/ios-charts ) 来展示饼图。我让它工作了,并且可以突出显示它等等。但我需要在呈现的这些馅饼旁边放置图标。所以我想UIImageView
在饼图之外放置一个,但在每个相应饼图的“中间”。检查图像以获得澄清。有没有一种简单的方法可以做到这一点?当然,这也需要是动态的,所以我不能只将它们放在情节提要中。
我可以得到每个馅饼由多少个圆圈组成,以度数或百分比表示,但我不知道如何使用它来获得放置UIImageView
. 有什么建议么?
编辑:忘记图片了
ios - 在 ios-charts 子视图上拖动时,uiscrollview 不会滚动
我有一个 ios-chart 作为占据屏幕一半的子视图。当我在任何其他子视图上平移时,它会滚动。但不是当我在图表上平移时。我尝试设置:
它在文档中说
defaultTouchEventsEnabled 启用/禁用要处理的默认触摸事件。禁用时,触摸不会传递给父视图,因此在 UIScrollView 内滚动将不起作用。
在图表上平移/拖动时,我可以做些什么来启用滚动?