『ios』echarts放到原生中所帶來的極致體驗柴淘。(持續(xù)采坑進行時)

持續(xù)采坑中...

timg (1).jpeg
QQ20181024-185700-HD.gif

要實現(xiàn)上面的效果,需要一個了解下幾個函數(shù)

 myChart.dispatchAction({type: 'downplay', seriesIndex: 1, dataIndex: beforeDefaultIndex });
 myChart.dispatchAction({type: 'highlight',seriesIndex: 1,dataIndex: beforeDefaultIndex});//設(shè)置默認(rèn)選中高亮部分
 myChart.dispatchAction({type: 'showTip',seriesIndex:1,dataIndex:beforeDefaultIndex});

然后才是option拼接第股,由于在echarts官方實例中话原,我無法拿到echarts實例對象繁仁,所以只能直接懟。因為之前的圖用這個函數(shù)不生效所以控漠,不太有信心盐捷。

話不多說直接上代碼,下面的是option對象

/**
 *  model轉(zhuǎn)chartOption
 */
- (NSDictionary *)chartOptionByModel{

    self.timeAxis = @[@"1",@"2",@"3",@"4",@"5"].mutableCopy;
    self.source = @[@"2",@"3",@"5",@"2",@"6"].mutableCopy;
    NSArray *data = @[@[@"1",@"2"],
                      @[@"2",@"3"],
                      @[@"3",@"5"],
                      @[@"4",@"2"],
                      @[@"5",@"6"]];
    
    NSDictionary * option = [NSDictionary dictionary];
    option = @{
               @"dataZoom":@{
                       @"type":@"inside"
                       },
               @"tooltip":@{
                       @"trigger":@"axis",
                       @"axisPointer":@{
                               @"type":@"cross",
                               },
                       @"show":[NSNumber numberWithBool:true]
                       },
               @"grid":@[@{
                             @"left":@"0px",
                             @"right":@"0px",
                             @"bottom":@"0px",
                             @"top":@"0px",
                             }],
               @"xAxis":@[@{@"show":[NSNumber numberWithBool:true],
                            @"data":self.timeAxis,
                            @"splitLine":@{@"lineStyle":@{@"type":@"dashed"}},
                            @"splitNumber":@20
                            }],
               @"yAxis":@[@{
                              @"show":[NSNumber numberWithBool:true],
                              @"type":@"value",
                              @"splitLine":@{@"lineStyle":@{@"type":@"dashed"}}
                              }],
               @"series":@[
                            @{
                               @"type":@"line",
                               @"name": @"In",
                               @"smooth":[NSNumber numberWithBool:true],
                               @"showSymbol":[NSNumber numberWithBool:false],
                    
                               @"data":data,
                               @"itemStyle":@{@"normal":@{@"color":@"#ffffff"}},
                              @"markPoint": @{
                                 @"itemStyle": @{
                                  @"normal": @{
                                   @"color": @"transparent"
                               }
                               },
                               @"label": @{
                               @"normal": @{
                                   @"show": [NSNumber numberWithBool:true],
                                   @"position": @"left",
                              // formatter: myRegression.expression,
                                   @"textStyle": @{
                                     @"color": @"#333",
                                     @"fontSize": @14
                               }
                               }
                               },
                               @"data": @[@{
                               @"coord": data[data.count - 1]
                               }]
                               },
                           
                               @"lineStyle":@{
                                       @"normal":@{
                                               @"width":@"0.5",
                                               @"color":@"#fff"
                                               }
                                       },
                             
                               },
                            @{
                                @"name": @"scatter",
                                @"type": @"scatter",
                                @"itemStyle": @{
                                        @"normal": @{
                                                @"color": @"#ffffff",
                                                @"borderColor":@"#ffffff"
                                                }},
                                @"label": @{
                                    @"emphasis": @{
                                        @"show": [NSNumber numberWithBool:true],
                                        @"position": @"left",
                                        @"itemStyle": @{
                                              @"normal": @{
                                              @"color": @"#ffffff",
                                              @"borderColor":@"#ffffff"
                                           }
                                        },
                                        @"textStyle": @{
                                              @"color": @"#fff",
                                               @"fontSize": @16
                                              }
                                        }
                                },
                                @"data": data
                                
                                }
                           
                           ]
               };
    return option;
}

重點在于 html中的代碼
需要考慮是代碼控制的默認(rèn)選中碉渡,還是手觸發(fā)的點擊事件。兩個是有區(qū)別的

   var myChart; //echarts表
            var beforeDefaultIndex;//記錄之前的選中的點母剥。
 function setOption(opt){//opt  echarts option所需    isNeedDefault 是否需要默認(rèn)選中的
            option = opt;
            var echartsDom = document.getElementById('sc_chart');
            echartsDom.removeAttribute("_echarts_instance_");
            myChart = echarts.init(echartsDom);
            myChart.setOption(option);
            window.addEventListener('resize', function () {
                myChart.resize();
            })
        }
        function setCancelBeforeIndex(){ //取消之前選中
           myChart.dispatchAction({type: 'downplay', seriesIndex: 1, dataIndex: beforeDefaultIndex });
        }
        function setNeedDefault(currentIndex){//添加默認(rèn)的選中
            beforeDefaultIndex = currentIndex;
            myChart.dispatchAction({type: 'highlight',seriesIndex: 1,dataIndex: beforeDefaultIndex});//設(shè)置默認(rèn)選中高亮部分
            
            myChart.dispatchAction({type: 'showTip',seriesIndex:1,dataIndex:beforeDefaultIndex});
            
            myChart.on('mouseover',function(e){//手觸發(fā)選中 如果不是那個點就把原來點取消
                               if(e.dataIndex != beforeDefaultIndex){
                                   myChart.dispatchAction({type: 'downplay', seriesIndex: 1, dataIndex: beforeDefaultIndex  });
                               }
                       });
            myChart.on('mouseout',function(e){//手抬起的時候环疼,把那個點選中
                                      beforeDefaultIndex = e.dataIndex;
                                      myChart.dispatchAction({type: 'highlight',seriesIndex: 1,dataIndex: e.dataIndex});
                       
                                  });
        }

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市炫隶,隨后出現(xiàn)的幾起案子淋叶,更是在濱河造成了極大的恐慌,老刑警劉巖伪阶,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異栅贴,居然都是意外死亡斟湃,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門檐薯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人坛缕,你說我怎么就攤上這事墓猎√招疲” “怎么了直晨?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵罩句,是天一觀的道長。 經(jīng)常有香客問我门烂,道長屯远,這世上最難降的妖魔是什么蔓姚? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮慨丐,結(jié)果婚禮上坡脐,老公的妹妹穿的比我還像新娘。我一直安慰自己房揭,他們只是感情好备闲,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著捅暴,像睡著了一般恬砂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蓬痒,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天泻骤,我揣著相機與錄音,去河邊找鬼乳幸。 笑死瞪讼,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的粹断。 我是一名探鬼主播符欠,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼瓶埋!你這毒婦竟也來了希柿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤养筒,失蹤者是張志新(化名)和其女友劉穎曾撤,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晕粪,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡挤悉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了巫湘。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片装悲。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖尚氛,靈堂內(nèi)的尸體忽然破棺而出诀诊,到底是詐尸還是另有隱情,我是刑警寧澤阅嘶,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布属瓣,位于F島的核電站载迄,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏抡蛙。R本人自食惡果不足惜护昧,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望溜畅。 院中可真熱鬧捏卓,春花似錦极祸、人聲如沸慈格。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽浴捆。三九已至,卻和暖如春稿械,著一層夾襖步出監(jiān)牢的瞬間选泻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工美莫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留页眯,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓厢呵,卻偏偏與公主長得像窝撵,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子襟铭,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時...
    歐辰_OSR閱讀 29,372評論 8 265
  • 7/8我大概是在走廊睡著了碌奉,被上班的人吵醒。 我的朋友醒了寒砖,我說我不去上班了赐劣。手機用著,我要回家哩都。我聯(lián)系了我的...
    阿傘不會愛閱讀 330評論 0 2
  • 作家詩人總應(yīng)有關(guān)懷別人的情懷魁兼,而不單單是舒發(fā)自己的情感。 做人做事不能太盲從漠嵌,針對性的對別人好咐汞,不能對所有人都好,...
    我是丁曉東閱讀 102評論 0 0
  • 今天聽了李老師給我們講了朗誦的力量献雅,才發(fā)現(xiàn)原來朗誦也是一門很值得去學(xué)習(xí)的科目碉考,有些感情用說話的方式很難表達...
    白銀平川052師福霞閱讀 658評論 0 0
  • 最近一直思考一個問題,我們都了解自己嗎挺身?知道自己真正的優(yōu)勢和劣勢是什么嗎侯谁?不了解自己必定會影響自己的未來發(fā)展和職業(yè)...
    宇文東林閱讀 188評論 0 1