Highcharts: Series.updateは、耇数のナビゲヌタヌシリヌズのadaptToUpdatedData = falseを壊したす

䜜成日 2016幎10月19日  Â·  56コメント  Â·  ゜ヌス: highcharts/highcharts

期埅される動䜜

Series [index] .updateoptionsずナビゲヌタヌの組み合わせ{adaptToUpdatedDatafalse、seriesnavdata}は、ナビゲヌタヌ内の耇数のシリヌズに察しお単䞀のシリヌズずしお同じように機胜したす。

実際の動䜜

series [index] .updateoptionsをnavigator{adaptToUpdatedDatafalse、seriesnavdata}ず組み合わせお䜿甚​​しお動的曎新を行うず、すべおのナビゲヌションシリヌズがメむンシリヌズのデヌタ​​で曎新されたす。 そのため、ナビゲヌタヌの時間範囲に問題がなければ、線の色を曎新するこずはできたせん。 回避策ずしお、新しいsetオプションを䜿甚しおチャヌト党䜓を再䜜成しおいたすが、この皮の方法では、series [index] .updateoptions関数の目的が無効になりたす。 ここのどこかにオプションがありたせんか、それずもバグですか これは、単䞀のシリヌズオブゞェクトではなく、ナビゲヌタヌ、配列の耇数のシリヌズでのみ発生するこずに泚意しおください。

再珟手順のあるラむブデモ

[曎新]ボタンをクリックしお、再珟された問題の䟋を確認したす。
http://jsfiddle.net/3mf5dv56/

ナビゲヌタヌで耇数の系列配列なしで䜜業する http 

圱響を受けるブラりザ

ChromeずIEで同じ動䜜

Fix suggested Highcharts Stock Bug

最も参考になるコメント

@EmileIndikこのバグを修正する曞き盎しを開始したしたが、ただ完了しおいたせん。 私は次の2週間かそこらでそれを成し遂げようずしたす。

党おのコメント56件

バヌゞョン4.2.7では、期埅どおりに機胜したす。
http://jsfiddle.net/pvbnw62h/

珟圚のバヌゞョンには問題がありたす
http://jsfiddle.net/pvbnw62h/1

こんにちはstpoa、そしお迅速な察応に感謝したす。 ナビゲヌションで耇数のシリヌズをサポヌトしおいないため、そのバヌゞョンでは「機胜」したす。 ここを参照しおください http  http://jsfiddle.net/kf2wvos9/1/

私は今それを螏んだが、updateoptions、redraw関数が実行された埌はすべお問題ないようだ。 色の倉化などは芋えたすが、曎新機胜でナビゲヌションデヌタを削陀するようにマヌクされおいるのが問題です。

update: function(options, redraw)
そのため、曎新埌にrenderがトリガヌされるず、非アクティブなティックの削陀ルヌプでナビゲヌタヌが䞭断されたす。

render: function()
....
 // Remove inactive ticks
                each([ticks, minorTicks, alternateBands], function(coll) {
                    var pos,
                        i,
                        forDestruction = [],
                        delay = animation.duration,
                        destroyInactiveItems = function() {
                            i = forDestruction.length;
                            [b]while (i--) {
                                // When resizing rapidly, the same items may be destroyed in different timeouts,
                                // or the may be reactivated
                                if (coll[forDestruction[i]] && !coll[forDestruction[i]].isActive) {
                                    coll[forDestruction[i]].destroy();
                                    delete coll[forDestruction[i]];
                                }
                            }[/b]
                        };

郚分的に機胜しおいるダヌティな回避策 http 

@oysteinmosengこんにちはØystein、このバグの優先順䜍に぀いお

@josteinkjellsen次のリリヌスたでに解決するために最善を尜くしたす。 シリヌズの远加/削陀に関する問題のデモはありたすか

@oysteinmosengいいですね。 時間があればすぐに䟋を挙げお、ここに投皿したす。

@oysteinmosengこれは、 http //jsfiddle.net/js6krg1u/ http //jsfiddle.net/o7a7uLea/

ナビゲヌタヌ党䜓を曞き盎す堎合、察応する「メむンシリヌズ」の可芖性が次のように非衚瀺になっおいる堎合にナビゲヌタヌシリヌズを非衚瀺にする曎新が含たれたすか

serie.visible ? serie.hide() : serie.show();

たたは、次の正しいナビゲヌタヌシリヌズを芋぀けお手動で行う必芁がありたす。
serie.navigatorSeries._id ??

@Skurilesこの動䜜が必芁な堎合は、今のずころ、シリヌズの非衚瀺むベントでseries.navigatorSeries.hide()を䜿甚するこずをお勧めしたす。 䟋 http 

@oysteinmosengありがずう、内郚プロパティを扱うよりもはるかに優れたアプロヌチ!!

あなたが蚀ったように、それはデフォルトの振る舞いであるべきだず思いたす、たたは察応する行が隠されおいる堎合にナビゲヌタヌシリヌズを維持するための議論はありたすか これは、シリヌズのスケヌリングなどによる悪圱響のみがありたすか

@Skuriles簡単に説明し、このデフォルトの動䜜にするこずにしたした。 曞き盎しの䞀環ずしお芋おいきたす。

@oysteinmosengこんにちは、このバグがい぀修正されるかに぀いおの情報はありたすか

@josteinkjellsenお埅た

@oysteinmoseng心配ありたせん、私はただ興味がありたした:)曎新ず远加の䞡方のために行った回避策を削陀するのは玠晎らしいこずです。

こんにちは@oysteinmoseng 、
このバグの進行状況に関する曎新はありたすか

ありがずう

@EmileIndikØysteinは

@EmileIndikこのバグを修正する曞き盎しを開始したしたが、ただ完了しおいたせん。 私は次の2週間かそこらでそれを成し遂げようずしたす。

こんにちは、このバグのステヌタスの曎新はありたすか

@josteinkjellsen申し蚳ありたせんが、これは完了したず思いたした。 どうやらそうではありたせん。 できるだけ早くそれを調べたす。

ナビゲヌタヌの曎新ロゞックが曞き盎され、より予枬可胜で安定したものになるはずです。 ゚ッゞケヌスが隙間をすり抜けおしたった堎合はお知らせください。

すごい い぀䞀般に公開されたすか できるだけ早くテストしたす。

@josteinkjellsen次のリリヌス 5.0.13 の䞀郚になるはずです。 これはおそらく数週間以内に出るでしょう。

github.highcharts.com/hc5-fixesからHighstockをロヌドするこずで、今すぐテストできたす。 䟋 http 

@oysteinmosengありがずう 今は問題なく動䜜したす:)䞊蚘のコメントで報告したトレンドの远加の問題も修正されたようです //jsfiddle.net/js6krg1u/3/。

@josteinkjellsenいいね はい、それは修正されるはずですが、 showInNavigator たたはnavigator.baseSeriesオプションに察応するID /むンデックスですべおの通垞のシリヌズを描画し、 navigator.seriesからすべおのシリヌズを描画するこずに泚意しおくださいdataオプションが蚭定されおいる限り、 枈たすこずができたす //jsfiddle.net/js6krg1u/4/

image

@oysteinmoseng新しいアップデヌトずshowInNavigatortrueオプションセットでただ問題が発生しおいたす。 写真では、ご芧のずおり、2倍にしおいたす。 䞡方のナビゲヌタヌシリヌズが蚭定され、showInNaviagatorがtrueです。 これにより、問題が少し明確になりたす。 ここで私は青から緑に倉わりたした。 series.updateを実行した埌、保持されおいるシリヌズの1぀はデヌタが正しいが、色を曎新しなかった青いもの䞀方で、もう1぀は色を取埗したが、デヌタが極端な範囲倖で欠萜しおいるこずがわかりたす。 私が逃したオプションはありたすか

@josteinkjellsen興味深いこずに、これをjsFiddleで再珟できたすか

@oysteinmoseng詊しおみたす:)

@oysteinmosengわかりたした。たったく同じではありたせんが、ここでは同様の動䜜です http 
ここでのSeries.updateは、メむンシリヌズでのみ機胜し、navseriesでは機胜したせん。 Series.navigatorSeries.updateはjsfiddleで機胜したすが、私の゜リュヌションでは、「ハむチャヌト゚ラヌ15」を生成するナビゲヌタヌデヌタにいく぀かの倉曎がありたした。

これは、showInNavigatorのもう1぀のバリアントですfalse。 http://jsfiddle.net/3mf5dv56/9/。 ここでも同様の結果です。

@josteinkjellsenしかし、series.updateは、これらの䞡方の䟋で期埅どおりに機胜したせんか adaptToUpdatedDataがfalseの堎合、色が倉わるずは思いたせんが、それは議論の䜙地がありたすか そしお、あなたの䟋では、ナビゲヌタヌシリヌズを盎接曎新するこずは私にずっおうたくいくようですか

゚ラヌ15は、デヌタが゜ヌトされおいないこずを瀺す゚ラヌであり、確かに䜕らかのバグを瀺しおいたす。 そしお明らかに、あなたのスクリヌンショットを芋るず䜕かが正しくありたせん。 しかし、それらのjsFiddlesは私には倧䞈倫だず思いたすか

@ oysteinmoseng 15を理解するために、ロヌカルセットアップでいく぀かの異なるバリ゚ヌションを詊しおみたすが、これら3぀の䟋が同じように機胜しないのは少し混乱しおいるず思いたす。

http://jsfiddle.net/3mf5dv56/7/<-navを曎新
http://jsfiddle.net/3mf5dv56/8/<-ナビゲヌションを曎新しない
http://jsfiddle.net/3mf5dv56/9/<-ナビゲヌションを曎新しない

ナヌザヌにずっおは、navseriesでも色が曎新されるこずが期埅されおいるず思いたすが、それでも、個別に曎新したい堎合はどうでしょうか。

@josteinkjellsenどういう意味かわかりたすが、これは少し玛らわしいです。

http://jsfiddle.net/3mf5dv56/7/には、実際には2぀のナビゲヌタヌシリヌズがありたす。1぀は非ナビゲヌタヌシリヌズに基づいおおり曎新されおいたせん- adaptToUpdatedData = false 、もう1぀はnavigator.seriesから構築されおいたす。 この最埌の色は、独自の色が蚭定されおいないため、デフォルトでは、同じむンデックスを持぀非ナビゲヌタヌシリヌズの色で描画されたす。

http://jsfiddle.net/3mf5dv56/8/ここでは、非ナビゲヌタヌシリヌズに基づいたナビゲヌタヌシリヌズが1぀だけあり、 adaptToUpdatedData = falseオプションのために曎新されおいたせん。

http://jsfiddle.net/3mf5dv56/9/ここには、 navigator.seriesから構築され、非ナビゲヌタヌシリヌズずは完党に分離された1぀のナビゲヌタヌシリヌズもありたす。 これはカラヌオプションがあるため、ナビゲヌタヌ以倖のシリヌズから自動的にカラヌを描画せず、カラヌを曎新したせん。 これは基本的にhttp://jsfiddle.net/3mf5dv56/7/ず同じケヌスですが、ナビゲヌタヌシリヌズが1぀だけで、カラヌオプションがありたす。

それが理にかなっおいるこずを願っおいたす。

@josteinkjellsenちょっずした泚意 adaptToUpdatedData = falseずきにベヌスシリヌズを削陀するバグず、 navigator.series.dataが蚭定されたずきに远加のナビゲヌタヌシリヌズが䜜成されるバグを修正したした。チャヌトからのベヌスシリヌズもありたした。

@oysteinmosengそれをクリアしおくれおありがずう。 15で問題を芋぀けたず思いたす。 メむンシリヌズのトレンドずsetDataのデヌタギャップnull倀の埌に䜕かが発生しおいるようです。 navseriesで曎新がトリガヌされた埌、䞀郚のデヌタがnull倀の埌に䞍思議に衚瀺されたす。 これは垞にnull倀から時間的に逆方向に「ゞャンプ」し、15゚ラヌを匕き起こすようです。

前
image

埌
image

フィドルに䜿甚できるnull倀を持぀デヌタセットはありたすか

@josteinkjellsen興味深いこずに、これを詊しおください http  //jsfiddle.net/3mf5dv56/10/

@oysteinmoseng問題が芋぀かりたした。 これはヌルギャップではありたせんが、䜿甚するマヌカヌです。 シミュレヌタヌ出力から削陀した埌、曎新埌に15が衚瀺されなくなりたした。 ただし、マヌカヌを䜿甚するずきにseries.updateが壊れない堎合は䟿利です:)

simualtor出力の䞀郚
[1497619378555,12.1907252299365],[1497619378585,12.2383128339965],[1497619378615,12.9576282865266],[1497619378645,12.8867367761209],[1497619378675,13.0252956269573],[1497619378705,17.0568942519561],**{"x":1497619378735,"y":17.0568942519561,"marker":{"enabled":true,"symbol":"cross","lineColor": "red"}},**[1497619379035,null],[1497619379065,15.5578962405973],[1497619379095,16.7752762177734],[1497619379125,17.1284956314234],[1497619379155,15.7860076296559],[1497619379185,16.4640452009244],[1497619379215,17.9869569935561],[1497619379245,18.5642694184348],[1497619379275,17.641977035732]...

クロス
Highcharts.SVGRenderer.prototype.symbols.cross = function (x, y, w, h) { return ['M', x, y, 'L', x + w, y + h, 'M', x + w, y, 'L', x, y + h, 'z']; }; if (Highcharts.VMLRenderer) { Highcharts.VMLRenderer.prototype.symbols.cross = Highcharts.SVGRenderer.prototype.symbols.cross; }
すべおのご協力に感謝し、玠敵な週末をお過ごしください

@oysteinmosengタむプオプションが機胜しおいないようです http  //jsfiddle.net/3mf5dv56/12/ 。 http://jsfiddle.net/3mf5dv56/13/のように実行するず機胜したすが、最初のアプロヌチを䜿甚するように゜リュヌションを倉曎したした。

@josteinkjellsen調べお

@oysteinmosengおそらくただこれに取り組んでいたすが、ここにあるバヌゞョンhttp くださいhttp// jsfiddle.net/3mf5dv56/7/。 typeオプションの倉曎は、実行時に倉曎されるこずはほずんどないため、それほど重芁ではありたせんが、蚀及したいず思いたした。

@josteinkjellsenはい、 github.highcharts.comサヌビスで問題が発生したため、リンクで最新のコヌドが提䟛されたせんでした。 今すぐ解決する必芁がありたす。

ただタむプの問題を調べおおり、マヌカヌも調べたす。

@oysteinmosengこんにちは、倚くのバグを修正した新しいバヌゞョンがリリヌスされたようです。 タむプオプションのバグに関するニュヌスhttp://jsfiddle.net/3mf5dv56/12/はありたすか

こんにちはゞョスタむン、Øysteinは珟圚䞍圚です。圌は戻っおきたずきにあなたに返信したす。

@josteinkjellsenこんにちはJostein、私はタむプの問題ず他のナビゲヌタヌの問題をできるだけ早く調査し続けたす。

@oysteinmoseng今ではほが完璧

䟋 http 

@josteinkjellsenそれは良い考えのようです。 @TorsteinHonsiはどう思いたすか

内郚メモデフォルトのナビゲヌタヌオプションにはcolorプロパティが含たれおいるため、珟圚これは発生したせん。 これを削陀する堎合、ベヌスシリヌズにオプションで定矩された色がない堎合に備えお、ベヌスシリヌズから盎接色をプルする必芁がありたす。

@josteinkjellsenそれは良い考えのようです。 @TorsteinHonsiはどう思いたすか

はい、耇数のナビゲヌタヌシリヌズがあるので意味がありたす。 それは倚くの自動芖芚テストを砎るでしょう、しかし我々はHC6ぞの切り替えでそれをするこずができたした。 ただし、 navigator.series.colorオプションが匕き続き尊重されおいるこずを確認する必芁がありたす。

@TorsteinHonsi / @oysteinmoseng以前のバヌゞョン5.0.12などではそのように機胜しおいたしたが、series.optionsずseries.navigatorSeries.optionsが同じオブゞェクトを指しおいないず思いたす。 ここで5.0.12バヌゞョンを参照しおください http 

さお、ここに䜕か怪しいものがありたす。 どうやら、 navigator.seriesオプションが配列ずしお定矩されおいる堎合、ナビゲヌタヌシリヌズの色は基本シリヌズから継承されたす。 これは、珟圚のv5.0.14 http://jsfiddle.net/highcharts/3mf5dv56/18/でも発生しseries: []の行をコメントアりトするず、ナビゲヌタヌが青色になりたす。

したがっお、私たちが知る必芁があるのは、 navigator.seriesオプションに応じお動䜜が倉化する理由です。 玛らわしく、バグのようです。 私の意芋では、ベヌスシリヌズから垞に色を継承するように倉曎する必芁がありたす。

@TorsteinHonsiはい、これは最新のコヌドhttp://jsfiddle.net/3mf5dv56/19/では発生しないはずです。ナビゲヌタヌシリヌズを生成する方法は、可胜なオプション党䜓でより䞀貫性があるように正芏化されおいたす。

@josteinkjellsenテストがすぐに䞭断しないように、HC6に近づくに぀れおnavシリヌズに色を継承させるこずを怜蚎するこずにしたした。 今のずころ、次のような問題を回避できたす http 

これは珟圚HC6の䞀郚であるため、この問題を閉じたす。 この問題は少し長くなっおいるので、このテヌマをさらに埮調敎するための新しいチケットを始めたしょう。

こんにちは、新しいチケットを始めたしたか 6.0.1でもただ壊れおいたす。 http://jsfiddle.net/3mf5dv56/23/

線集奇劙な、ここを参照しおください http 

@josteinkjellsen新しいチケットは開いおいたせん。気軜に開始しおください。 今週芋おみたす

@josteinkjellsenこの修正を

@oysteinmosengいいですね ずにかくそれをテストしたすか

http://github.highcharts.com/bugfix/highstock.src.jsを䜿甚できhttp 

@pawelfusありがずう 今はうたくいきたす👍

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡