AJAX リクエストを介してデータを取得すると、次のようになります。
[1,3252325],[2,2323]
2 番目の値は、呼び出されたファイル ID です。fId
ここで、その ID を取得し、別の ajax 呼び出しを行って対応する名前を見つけ、それを使用して x 軸の説明をオーバーライドしようとします。
すべて正常に動作しますが、実行するたびに既存の名前がすべて削除されるという問題があります。そのため、最後に、カスタムの xAxis 記述を持つ最後のデータセットが 1 つだけ残ります。
最後に、すべてのデータセットに xAxis のカスタムの新しい名前が必要です。
API.txt を検索しようとしましたが、何も見つかりませんでした。また、コードを移動したり書き直したりするために何時間も試みましたが、結局のところ、同じ問題に悩まされています。
それはコードの一部です:
function onDataReceived(series) {
//Add data
if (!alreadyFetched[series.label]) {
alreadyFetched[series.label] = true;
fdata.push(series);
//Get ID
var fId = [series.data[0][0]];
//Get names
$.ajax({
url: 'inc/admin.inc.php?action=get&option=filename&id='+fId+'',
method: 'GET',
dataType: 'html',
success: function(response){
$.plot(fplaceholder, fdata,$.extend(true, {}, foptions, {
//Works, but each time it runs, it removes all previous overrides
xaxis:{ticks:[[fId,response]]}
}));
}
});
}
}
$.ajax({
url: dataurl,
method: 'GET',
dataType: 'json',
success: onDataReceived
});
アップデート:
私は現在、「ハック」を使用してこれを希望どおりに機能させていますが、これはおそらく私の特定のニーズに対してのみ機能しています。
xaxis の「10 進数を表示」を false に設定しました。プロットが作成されたら、タイムアウト関数を開始してすべての xaxis 値 (私の場合は ID) を検索し、小さな ajax 呼び出しで対応する名前を見つけます。
ただし、フローコード内で直接行う方法をまだ探しています。