iOS swift3 图表xaxis重复值问题

2024-01-20

我在使用 iOS 图表库为 xAxis 创建字符串值时遇到问题

x 值总是有重复值,请参见下图,您可以看到值总是JAN JAN JAN JAN FEB FEB FEB

我如何设置图表的 x 值,如下所示JAN FEB MAR ?

import UIKit
import Charts
class ViewController: UIViewController {
var months:[String]!
@IBOutlet var lineChartView: LineChartView!

override func viewDidLoad() {
super.viewDidLoad()


let unitsSold = [20.0, 4.0, 6.0]

var months = ["Jan", "Feb", "Mar"]

let formato:LineChartFormatter = LineChartFormatter(labels: months)
let xaxis:XAxis = XAxis()

var dataEntries: [ChartDataEntry] = []

for i in 0..<unitsSold.count {
let dataEntry = ChartDataEntry(x: Double(i), y: unitsSold[i])

print("double \(Double(i))")
dataEntries.append(dataEntry)
}

xaxis.valueFormatter = formato
let data = LineChartData()
let dataset = LineChartDataSet(values: dataEntries, label: "Hello")
dataset.colors = [NSUIColor.red]
data.addDataSet(dataset)


self.lineChartView.gridBackgroundColor = NSUIColor.white
self.lineChartView.xAxis.drawGridLinesEnabled = true;
self.lineChartView.xAxis.labelPosition = XAxis.LabelPosition.bottom
self.lineChartView.xAxis.centerAxisLabelsEnabled = true
self.lineChartView.chartDescription?.text = "LineChartView Example"
self.lineChartView.xAxis.valueFormatter = xaxis.valueFormatter
self.lineChartView.data = data
}

override open func viewWillAppear(_ animated: Bool) {
self.lineChartView.animate(xAxisDuration: 1.0, yAxisDuration: 1.0)
}
}

@objc(LineChartFormatter)
public class LineChartFormatter: NSObject, IAxisValueFormatter{
var labels: [String] = []

public func stringForValue(_ value: Double, axis: AxisBase?) -> String {
return labels[Int(value)]
}

init(labels: [String]) {
super.init()
self.labels = labels
}
}

首先,使用granularity以避免重复值。 其次,检查你的valueFormatter如果您发现它们的值非常不同,则不要返回相同的字符串。例如int(1.5) and int(1.9)会给你同样的Jan但你可能想让1.9 return Feb

再次强调,你必须仔细实施你自己的valueFormatter如果你正在处理小数

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS swift3 图表xaxis重复值问题 的相关文章

  • 不明白 Swift 中的闭包示例

    我正在尝试了解 swift 和闭包 我被这个例子困住了 numbers map number Int gt Int in let result 3 number return result 什么是 number Int gt Int 它是一
  • Cordova 在 iOS 中显示警告“线程警告:[您的函数]花了 [n] 毫秒”

    THREAD WARNING Console took 81 661865 ms Plugin should use a background thread 在跑步的时候iOS 手机差距项目 对于一些剩余的插件 例如地理位置和文件系统 也是
  • iOS 解决方法:在没有 CSS 属性的情况下平滑滚动 滚动行为:平滑?

    编辑 我找到了一个 jQuery 解决方案 https codepen io chriscoyier pen dpBMVP https codepen io chriscoyier pen dpBMVP这个确实可以在 iOS 上运行 我想
  • 如何将 LC_LOAD_DYLIB 命令插入 Mach-O 二进制文件或将静态库加入现有二进制文件 (IOS)

    这是我第一次在 stackoverflow 上提问 我很绝望 我的任务是加载 dylib 或将静态库加入到 IOS 设备的现有可执行文件中 我将使用static void attribute constructor initialize v
  • 将 UIButton 中的图像缩放到 AspectFit?

    我想将图像添加到 UIButton 并且还想缩放图像以适合 UIButton 使图像变小 请告诉我该怎么做 这是我尝试过的 但它不起作用 将图像添加到按钮并使用setContentMode self itemImageButton setI
  • 企业发行版在 Swift 应用程序中与 iOS8 配合不佳

    我在使用 swift 应用程序在 iOS 8 设备上运行 Enterprise 版本时遇到问题 如果我使用非企业帐户进行代码签名 它似乎工作正常 有人遇到这个问题吗 以下是我在尝试使用企业帐户运行构建以进行协同设计时在 iOS 设备上收到的
  • iOS 电池监控 Swift

    我已将监控设置为启用 但模拟器和设备中的电池电量仍然为 1 UIDevice currentDevice batteryMonitoringEnabled true var level UIDevice currentDevice batt
  • iOS 上的 UIBezierPath 操作

    我从一条直线开始 我希望用户能够触摸并拖动该线 使其弯曲 实际上 他们有能力将线条操纵成波浪形状 我不确定从技术上实现这一目标的最简单方法 我首先创建了三次曲线的 UIBezierPaths 数组 目的是操纵控制点 但似乎一旦绘制了 UIB
  • 从 iOS 应用程序内的 Junos Pulse 获取用户凭据

    我正在通过 Junos Pulse 在 iPad 中建立 VPN 连接 以进入我组织的 Intranet 谁能告诉我是否有任何 iOS api 或 SDK 可用于获取在 iOS 应用程序内的 Junos pulse 中输入的用户凭据 Jun
  • Objective-c 中的块递归

    当执行涉及 Objective C 块的递归时 我在 iOS 应用程序中收到 EXC BAD ACCESS 信号 这是简化的代码 void problematicMethod FriendInfo friendInfo onComplete
  • 使用 Interface Builder 创建 UIScrollView 的步骤

    我正在尝试使用 UIScrollView 但似乎有一些基本的事情我不理解 假设我想在我的 iPhone 应用程序中使用 UIScrollView 我有一个充满按钮的视图 尺寸为 320x700 显然 这对于 320x480 的 iPhone
  • 进入前台后刷新数据

    更改默认设置后 我想在AppDelegate中进入前台时刷新myViewController的数据 我所做的是 AppDelegate m void applicationDidFinishLaunching UIApplication a
  • iOS:提高图像绘制速度

    我有一系列想要制作动画的图像 UIImageView支持一些基本的动画 但不足以满足我的需求 我的第一个方法是使用UIImageView并设置image当图像属性 这太慢了 速度慢的原因是图像的绘制 这让我感到惊讶 我以为瓶颈会加载图像 我
  • iphone NSDate 转换问题

    在我的 facebook 图表 Api 中 我正在获取这些数据 来自杰森 updated time 2011 05 17T14 52 16 0000 我正在使用此代码将其转换为有效的日期格式 NSDateFormatter df NSDat
  • 防止 AlertView 被解雇

    任何人都可以帮助我防止在其按钮单击事件上解雇警报视图吗 我有一个 textview 作为我的alertView 的子视图 如果 textview 值为 nil 我不想关闭它 因为这是一个非常老的问题 但我得到了一个解决方案 并且如果其他开发
  • iphone:如何停止快门动画?

    我有两个问题 1 我想知道如何在相机加载时停止快门动画 我正在使用 UIImagePickerController 我已经参考了堆栈溢出的许多答案 但没有成功 2 我在相机中有一个自定义按钮 使用cameraOverlayView并想通过单
  • UIWebView Bug:-[UIWebView cut:]:无法识别的选择器发送到实例

    In the UIWebView 如果包含文本的输入元素具有焦点 并且按下按钮导致输入失去焦点 则随后双击输入以重新获得焦点并从出现的弹出栏中选择 剪切 或 复制 或 粘贴 会导致这UIWebView因错误而崩溃 UIWebView cut
  • 在故事板中的视图控制器之间滑动手势

    我希望添加左右滑动手势来在视图控制器之间进行更改 这是否可能 并且有没有一种简单的方法可以在故事板中执行此操作 谢谢 故事板允许您在两个视图控制器之间设置 Segues 我想说首先在视图之间附加 Segues 给它一个标识符 然后使用类似的
  • Swift 中的 UIAlert 自动消失?

    我有以下代码 Creates Alerts on screen for user func notifyUser title String message String gt Void let alert UIAlertController
  • 为什么使用 iPhone 或 iOS 设备在“iframe”中查看“position:fixed”时不起作用?

    我研究过 stackoverflow 似乎position fixed在 iOS 移动设备的 iframe 中 https stackoverflow com questions 15874910 position fixed and if

随机推荐

  • Android studio 抛出 IOException:不允许操作

    现在 我正在为自己创建一个应用程序 它将数据附加到几个文件中 但是当我尝试创建文件 或者实际上打开它们 时 程序会抛出java io IOException Operation not permitted 如您所见 已授予存储权限 这个应用
  • pandas 是否会自动跳过行并进行大小限制?

    我们都知道这个问题 当你运行时出现内存错误 pandas 数据框的最大大小 https stackoverflow com questions 23569771 maximum size of pandas dataframe 442076
  • clang-format 何时断行继承列表?

    Clang format 总是将继承和类名放在同一行 无论我设置什么BreakInheritanceList to 我希望它以相同的方式格式化继承列表和构造函数初始值设定项列表 class Foo Parent int member pub
  • .NET 提供的有关 uri 和 url 的 api 的替代方案

    我最近意识到 使用 URL 和 URI 的 NET api 经常无法实现基本功能 至少很容易 包括 从相对路径生成 FQDN url 强制 https 或返回到http 获取网站的根 正确组合相对 URL 等等 是否有其他库可以将所有这些类
  • 新 AngularJS ng-ref 指令的陷阱

    The release of AngularJS V1 7 1 https github com angular angular js blob master CHANGELOG md 171 momentum defiance 2018
  • 库存浏览器从图库中选择照片的问题

    我正在开发一个用于从移动设备上传照片的网页 使用
  • 悬停时重新启动动画

    我正在尝试创建一些复活节动画 其中有一只小兔子接住了下落的鸡蛋 现在效果很好 但我遇到的麻烦是我似乎无法创建一个按钮来重新启动我的多个动画并让它们再次下落 向下移动 我已经尝试了很多东西 这似乎是我能得到的最接近的东西 但这似乎只是播放 暂
  • 如何在无人值守的情况下安装 Visual Studio Build Tools?

    我正在尝试在 PowerShell 中以无人值守的方式安装 Visual Studio Build Tools 我跟着https silentinstallhq com visual studio build tools 2022 sile
  • 我应该将自定义方法从控制器移至模型吗?

    假设我有一个产品模型和 ProductsController 控制器具有所有标准的 CRUD 方法 产品执行各种验证等 这里有一个问题 我有几个自定义的非常复杂的操作 它们也需要以多种格式响应 json html xml csv pdf 等
  • 检查 CancellationTokenSource.Cancel() 是否已使用 Moq 调用

    我有一个条件语句 应如下所示 if view VerifyData true else view PermanentCancellation Cancel 其中 PermanentCancellation 的类型为 Cancellation
  • 如何获取 Windows 用户帐户的用户权限和特权

    我需要能够检查所有these http technet microsoft com en us library dd349804 v WS 10 aspx用户权利和特权 我尝试使用令牌来访问这些 但这仅完成了权限列表 我查过这个图书馆 ht
  • 每个 Android 设备的唯一 ID

    我实际上正在开发一个 Android 应用程序 希望为每个 Android 设备捕获唯一的 Id 但不确定哪个 Id 是可靠的 电话号码Imei imsi 从android 10开始 即使提供了权限 第三方应用程序也将无法检索此id 安全
  • 链式作业如何进行?

    引用某事 gt gt gt x y somefunction 是相同的 gt gt gt y somefunction gt gt gt x y 问题 是 x y somefunction 与 x somefunction y somefu
  • “3.4E +/- 38(7 位数字)”到底是什么意思? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我试图了解数据类型的范围 对于非浮点
  • ELOOP:遇到太多符号链接

    当尝试点击命令时 npm install g angular email protected cdn cgi l email protection Note 我有 Node Js LTS 10 xx 版本 Net Framework 4 7
  • StreamSocket、DataWriter.StoreAsync()、DataReader.LoadAsync() -- 异步问题

    我正在创建一个 Win 8 商店应用程序 在其中使用 StreamSocket 连接到用 Java 编写的服务器 当我在调试中运行应用程序时 在 StreamSocket ConnectAsync DataWriter StoreAsync
  • Swift:以模态方式呈现并解除导航控制器

    我有一个非常常见的 iOS 应用场景 The MainVC该应用程序的一个UITabBar控制器 我在 AppDelegate swift 文件中将此 VC 设置为 rootViewController func application a
  • “不匹配”的正则表达式语法?

    我有一个大量使用正则表达式的 python 模板引擎 它使用像这样的串联 re compile regexp1 regexp2 regexp3 我可以修改各个子字符串 regexp1 regexp2 等 是否有任何不匹配的小而轻的表达式 我
  • Keras Tuner:根据层数选择单元数

    我正在使用 Keras Tuner 来调整神经网络的超参数 我想搜索隐藏层的最佳数量以及每层中的最佳单元数 为了避免模型过度参数化 我想施加以下条件 如果模型有两层 则选择最佳的单元数 每层最多 64 个 如果模型有一层 则选择最佳的单元数
  • iOS swift3 图表xaxis重复值问题

    我在使用 iOS 图表库为 xAxis 创建字符串值时遇到问题 x 值总是有重复值 请参见下图 您可以看到值总是JAN JAN JAN JAN FEB FEB FEB 我如何设置图表的 x 值 如下所示JAN FEB MAR import