其实我想得到我的xAxis标签的字符串值。怎么做到的?我有一系列xAxis标签:
let xAxis = axisSet.xAxis as CPTXYAxis!
let label = xAxis.axisLabels?
所以这会返回我在屏幕上可见的所有标签值。作为reference to this question,我需要计算用于映射我的值的点,以在xAxis上绘制。但是在我滚动图表后如何再次获得第一个标签值?我想要在地图上显示的字符串值,例如:“17:04:05”。如何从数组中获取该值?因为这个axisLabels
数组返回的值不是短路的,我想要第一个在我的图表上可见的标签值。数组输出如下所示:
Optional("[<<CPTAxisLabel: 0x7fe5e858b910> {<<<CPTTextLayer: 0x7fe5e84501d0> bounds: {{0, 0}, {58, 21}}> \"11:47:46\">}>, <<CPTAxisLabel: 0x7fe5e858b5f0> {<<<CPTTextLayer: 0x7fe5e858b7f0> bounds: {{0, 0}, {58, 21}}> \"11:41:16\">}>, <<CPTAxisLabel: 0x7fe5e85a1070> {<<<CPTTextLayer: 0x7fe5e8586cd0> bounds: {{0, 0}, {58, 21}}> \"11:46:16\">}>, <<CPTAxisLabel: 0x7fe5e86adf70> {<<<CPTTextLayer: 0x7fe5e86b6b90> bounds: {{0, 0}, {58, 21}}> \"11:44:46\">}>, <<CPTAxisLabel: 0x7fe5e8591660> {<<<CPTTextLayer: 0x7fe5e85918a0> bounds: {{0, 0}, {58, 21}}> \"11:43:16\">}>, <<CPTAxisLabel: 0x7fe5e853fde0> {<<<CPTTextLayer: 0x7fe5e8511530> bounds: {{0, 0}, {58, 21}}> \"11:48:16\">}>, <<CPTAxisLabel: 0x7fe5e858bab0> {<<<CPTTextLayer: 0x7fe5e85915a0> bounds: {{0, 0}, {58, 21}}> \"11:41:46\">}>, <<CPTAxisLabel: 0x7fe5e87b2e00> {<<<CPTTextLayer: 0x7fe5e876f990> bounds: {{0, 0}, {58, 21}}> \"11:46:46\">}>, <<CPTAxisLabel: 0x7fe5e857dff0> {<<<CPTTextLayer: 0x7fe5e8587690> bounds: {{0, 0}, {58, 21}}> \"11:45:16\">}>, <<CPTAxisLabel: 0x7fe5e8588f80> {<<<CPTTextLayer: 0x7fe5e858acf0> bounds: {{0, 0}, {58, 21}}> \"11:43:46\">}>, <<CPTAxisLabel: 0x7fe5e86830c0> {<<<CPTTextLayer: 0x7fe5e8684e30> bounds: {{0, 0}, {58, 21}}> \"11:48:46\">}>, <<CPTAxisLabel: 0x7fe5e8588ce0> {<<<CPTTextLayer: 0x7fe5e8588ec0> bounds: {{0, 0}, {58, 21}}> \"11:42:16\">}>, <<CPTAxisLabel: 0x7fe5e85a1290> {<<<CPTTextLayer: 0x7fe5e8584c80> bounds: {{0, 0}, {58, 21}}> \"11:47:16\">}>, <<CPTAxisLabel: 0x7fe5e845df20> {<<<CPTTextLayer: 0x7fe5e845e040> bounds: {{0, 0}, {58, 21}}> \"11:45:46\">}>, <<CPTAxisLabel: 0x7fe5e8590a60> {<<<CPTTextLayer: 0x7fe5e8590ca0> bounds: {{0, 0}, {58, 21}}> \"11:44:16\">}>, <<CPTAxisLabel: 0x7fe5e8766660> {<<<CPTTextLayer: 0x7fe5e8748c90> bounds: {{0, 0}, {58, 21}}> \"11:49:16\">}>, <<CPTAxisLabel: 0x7fe5e858b8b0> {<<<CPTTextLayer: 0x7fe5e85909a0> bounds: {{0, 0}, {58, 21}}> \"11:42:46\">}>]")
正如您所看到的那样,它不是按排序顺序排列的,或者不按顺序显示在图表上,我只想要在图表上显示的第一个字符串。帮我解决这个问题。
答案 0 :(得分:0)
循环通过轴标签集。对于每一个,contentLayer
是CPTTextLayer
的实例。读取text
属性,并使用标签格式化程序将时间字符串转换为数据值。找到数据集合中的最小值。