Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在iOS-图表中添加最大值和最小值的箭头?

如何在iOS-图表中添加最大值和最小值的箭头?
EN

Stack Overflow用户
提问于 2018-03-20 02:36:35
回答 1查看 287关注 0票数 1

我想显示最大和最小值的箭头,就像下面的图片一样。

有没有人对如何使用iOS-图表来实现它有想法?非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-29 00:18:58

您需要为CandleStickChartView编写自己的自定义呈现程序。幸运的是,在您的情况下,您只需要覆盖一个方法。

因此,从CandleStickChartRenderer继承类并重写方法drawValues(context: CGContext)。您只需从父方法复制/粘贴大部分代码,并且只进行必要的更改。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class MyCandleStickChartRenderer: CandleStickChartRenderer {

    internal var _xBounds = XBounds()

    var minValue: Double
    var maxValue: Double

    init (view: CandleStickChartView, minValue: Double, maxValue: Double) {
        self.minValue = minValue
        self.maxValue = maxValue

        super.init(dataProvider: view, animator: view.chartAnimator, viewPortHandler: view.viewPortHandler)
    }

    override func drawValues(context: CGContext)
    {
        // ... I remove some code that was not changed ...

            for j in stride(from: _xBounds.min, through: _xBounds.range + _xBounds.min, by: 1)
            {
                guard let e = dataSet.entryForIndex(j) as? CandleChartDataEntry else { break }

                // need to show only min and max values
                guard e.high == maxValue || e.low == minValue else { continue }

                pt.x = CGFloat(e.x)
                if e.high == maxValue {
                    pt.y = CGFloat(e.high * phaseY)
                } else if e.low == minValue {
                    pt.y = CGFloat(e.low * phaseY)
                }
                pt = pt.applying(valueToPixelMatrix)

                // ... I remove some code that was not changed ...   

                if dataSet.isDrawValuesEnabled
                {
                    var textValue: String?
                    var align: NSTextAlignment = .center

                    // customize position for min/max value 
                    if e.high == maxValue {
                        pt.y -= yOffset
                        textValue = "←  " + String(maxValue)
                        align = .left
                    } else if e.low == minValue {
                        pt.y += yOffset / 5
                        textValue = String(minValue) + "  →"
                        align = .right
                    }

                    if let textValue = textValue {
                        ChartUtils.drawText(
                            context: context,
                            text: textValue,
                            point: CGPoint(
                                x: pt.x,
                                y: pt.y ),
                            align: align,
                            attributes: [NSAttributedStringKey.font: valueFont, NSAttributedStringKey.foregroundColor: dataSet.valueTextColorAt(j)])
                    }
                }
            }
        }
    }
}

此外,您还需要创建呈现器的实例,并将其设置为图表视图中的属性。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
myCandleStickChartView.renderer = MyCandleStickChartRenderer(view: candleStickChartView, minValue: 400, maxValue: 1450)

最后..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49381948

复制
相关文章
Python 字符串 去中间空格
这招不太灵光,不仅是因为编码的问题(2.x 的版本中使用 repr()可以看到空格对应的编码,用其替换),而且太麻烦,不够灵活 。
py3study
2020/01/11
2.4K0
php用空格分隔字符串,分割字符串空格[通俗易懂]
String[] data = s.split(“@”); // 以@分割字符串,获得@后的值。
全栈程序员站长
2022/11/16
6.3K0
去掉多余的空格---输入一个字符串,字符串中可能包含多个连续的空格,请将多余的空格去掉,只留下一个空格。输入格式
输入一个字符串,字符串中可能包含多个连续的空格,请将多余的空格去掉,只留下一个空格。
莫浅子
2022/11/18
2.7K0
JS去除字符串的空格
JS去除字符串前后空格 //去前后空格 //var LO = data.replace(/(^\s*)|(\s*$)/g, ""); //var LA = data.replace(/(^\s*)|(\s*$)/g, ""); JS去除字符串所有空格 //直接去除所有的空格 var LL = data.replace(/\s+/g,""); 在Kettle做数据清洗中用到的: //Script here //去前后空格 //var LO = LONGITUDE.replace(/(^\s*)|(\s*
手撕代码八百里
2020/07/28
8K0
带空格的字符串反转
就是输入一段文本,然后让你实现字符串反转。 肺炎严重,假期延长,闲的不得不自主学习,然后就日常刷水题。 第一次的方法,简单易懂,就是时间超限了。TLIM #include<bits/stdc++.h> using namespace std; stack<string> st; int main(){ string s; cin>>s; reverse(s.begin(),s.end()); st.push(s); while(getchar() != '\n'){ cin>>s; re
杨鹏伟
2020/09/11
1.3K0
字符串:替换空格
示例 1: 输入:s = "We are happy." 输出:"We%20are%20happy."
代码随想录
2020/09/10
4.6K0
字符串:替换空格
php删除字符串的空格
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/105882.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/09
3.6K0
PHP去除多余空格 多个连续空格只保留一个
/** 多个连续空格只保留一个 * @param string $string 待转换的字符串 @return unknown */ static public function merge_spa
大师级码师
2021/10/29
2.7K0
关于字符串切割空格
注意: 不要在split方法中写" ", 这样只能匹配到一个空格 String s = "hello world you"; String[] split = s.split("\\s+"); for (String s1 : split) { System.out.println(s1); }
乐心湖
2020/07/31
1.1K0
算法-字符串替换空格
chaibubble
2018/01/02
2.4K0
算法-字符串替换空格
android空格字符串_v1d空格复制
&#160; == &nbsp; == &#xA0; == no-break space (普通的英文半角空格但不换行)
全栈程序员站长
2022/09/30
8260
python 字符串去空格
1、lstrip:删除左边的空格 这个字符串方法,会删除字符串s开始位置前的空格。
全栈程序员站长
2022/09/03
2.6K0
js去除字符串空格
去除字符串内所有的空格:str = str.replace(/\s*/g,””);
青梅煮码
2023/01/16
9.9K0
[785]python去掉字符串中多余的空格
参考:https://www.jianshu.com/p/25def1847697 https://blog.csdn.net/baidu_15113429/article/details/80651091
周小董
2020/04/21
1.5K0
javascript去掉字符串前后空格
使用场景 当我们进行一些页面编辑时,字符串前后的空格,通常是无效的。因此需要在获取信息时,进行过滤。 比如: 输入:[空格][空格]a[空格]b[空格][空格][空格] 得到:a[空格]b 代码如下: 去掉前面的空格 1 function LTrim(str){ 2 var i; 3 for(i=0;i<str.length;i++){ 4 if(str.charAt(i)!=" ") 5 break; 6 } 7
用户1154259
2018/01/17
2.2K0
JavaScript 去除字符串首尾空格
Unsplash 去除字符串首尾空格的方式,主要是利用正则进行替换,这里写了两种方式供大家参考 function trim(string) { if(string.trim) { return string.trim(); }else { let reg = /^\s+|\s+$/g; return string.replace(reg,""); } } if(typeof String.prototype.trim !== "func
Nian糕
2020/05/26
4.2K0
JavaScript 去除字符串首尾空格
Python_去除字符串中的空格
01. strip() 方法 strip() :用于移除字符串头尾指定的字符(默认为空格)或字符序列。 注: 该方法只能删除开头或结尾的字符,不能删除中间部分的字符。 old_data = " a b c d 1 1 3 1 " new_data = old_data.strip() old_data2 = "com.123fa.comsfasf.comasdfrs324.com" new_data2 = old_data2.strip(".com") print(new_data) print(new
用户7741497
2022/03/24
1.8K0
Java字符串去掉空格的几种方法
其中,\s可以匹配空格、制表符、换页符等空白字符 参考:Java正则表达式https://www.runoob.com/java/java-regular-expressions.html
kirin
2020/07/01
4.7K0
深度学习中的模型修剪
本在本文中,我们将介绍深度学习背景下的模型修剪机制。模型修剪是一种丢弃那些不代表模型性能的权重的艺术。精心修剪的网络会使其压缩版本更好,并且它们通常变得适合设备上的部署。
deephub
2020/07/06
1.1K0
深度学习中的模型修剪
利用切片操作去除字符串空格
在写一个函数,利用切片操作,可以去除一个字符串前后的空格,比如字符串' I.m working ',去除前后空格后得到‘I‘m working’
算法与编程之美
2021/11/23
1.9K0

相似问题

C#列表.ConvertAll效率和开销

45

ConvertAll (UWP C#)

13

C# ConvertAll语法

27

带索引的C#列表ConvertAll

18

IEnumerable<T>.ConvertAll和DDD

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文