PHPおよびmySQLを介してJQueryからChart.jsグラフの生成を高速化するにはどうすればよいですか?

FranzHuber23

私の前の2つの質問によると:#1#2結果グラフの読み込みが非常に遅いため(データセットに50個の値しかない場合でも)、JavaScriptで次のコードを固定するにはどうすればよいですか?

<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="/node_modules/chart.js/dist/Chart.bundle.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<style>
    canvas{
        -moz-user-select: none;
        -webkit-user-select: none;
        -ms-user-select: none;
    }
    .no-js #loader { display: none;  }
    .js #loader { display: block; position: absolute; left: 100px; top: 0; }
    .loaderClass {
        position: fixed;
        left: 0px;
        top: 0px;
        width: 100%;
        height: 100%;
        z-index: 9999;
        background: url(web_images/loader.gif) center no-repeat #fff;
    }
</style>
<title>Temperatur und Feuchtigkeit</title>
</head>
<body>
    <div class="loaderClass"></div>
    <div style="width: 100%;"> 
        <canvas id="canvas"></canvas>
    </div>
    <script>
        var data = [], labels = [], temperature=[], humidity=[];
        $.get('GetTestData.php', function(dataGet) {
            data = JSON.parse(dataGet);
            data['labels'].forEach(function(singleResult) {
                labels.push(singleResult);
            });
            data['temperature'].forEach(function(singleResult) {
                temperature.push(singleResult);
            });
            data['humidity'].forEach(function(singleResult) {
                humidity.push(singleResult);
            });
            var ctx = document.getElementById("canvas").getContext("2d");
            window.myLine = new Chart(ctx, config);
            $(".loaderClass").fadeOut("slow");
        });

        var config = {
            type: 'line',
            data: {
                labels: labels,
                datasets: [{
                    label: "Temperatur",
                    data: temperature,
                    fill: false,
                    yAxisID: 'A'
                },
                {
                    label: "Feuchtigkeit",
                    data: humidity,
                    fill: false,
                    yAxisID: 'B'
                }]
            },
            options: {
                responsive: true,
                title:{
                    display:true,
                    text:'Temperatur und Feuchtigkeit'
                },
                tooltips: {
                    mode: 'label'
                },
                hover: {
                    mode: 'dataset'
                },
                scales: {
                    xAxes: [{
                        display: true,
                        scaleLabel: {
                            display: true,
                            labelString: 'Datum'
                        }
                    }],
                    yAxes: [{
                        id: 'A',
                        position: 'left',
                        display: true,
                        scaleLabel: {
                            display: true,
                            labelString: 'Temperatur in у'
                        },
                        ticks: {
                            suggestedMin: -40,
                            suggestedMax: 60,
                        },
                        {
                        id: 'B',
                        position: 'right',
                        display: true,
                        scaleLabel: {
                            display: true,
                            labelString: 'Luftfeuchtigkeit in %'
                        },
                        ticks: {
                            suggestedMin: 0,
                            suggestedMax: 100,
                        }
                    }],
                }
            }
        };

        $.each(config.data.datasets, function(i, dataset) {
            if(i==0){
                dataset.borderColor = 'rgba(255,0,0,1)';
                dataset.backgroundColor = 'rgba(255,0,0,1)';
                dataset.pointBorderColor = 'rgba(0,50,255,1)';
                dataset.pointBackgroundColor = 'rgba(0,0,0,1)';
            }
            else{
                dataset.borderColor = 'rgba(200,0,255,1)';
                dataset.backgroundColor = 'rgba(200,0,255,1)';
                dataset.pointBorderColor = 'rgba(0,50,255,1)';
                dataset.pointBackgroundColor = 'rgba(0,0,0,1)';
            }
            dataset.pointBorderWidth = 1;
        });

        window.onload = function() {
            var ctx = document.getElementById("canvas").getContext("2d");
            window.myLine = new Chart(ctx, config);
        };
    </script>
</body>
</html>

誰かがここでいくつかのアイデアを持っていますか?

ケネス・チャン

phpから直接データを埋め込もうとします。またはを使用してファイルを含める

<?php include('getTestData.php'); ?>

以下のように、ajaxgetリクエストを置き換えます。

    <?php foreach($dataGet->label as $label){ ?>
  labels.push("<?= $label ?>");
 <?= } ?>

  <?php foreach($dataGet->temperature as $temperature){ ?>
  temperature.push("<?= $temperature ?>");
 <?= } ?>

  <?php foreach($dataGet->humidity as $humidity){ ?>
  humidity.push("<?= $humidity ?>");
 <?= } ?>

  var ctx = document.getElementById("canvas").getContext("2d");
window.myLine = new Chart(ctx, config);
$(".loaderClass").fadeOut("slow");

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

clj-pdfを使用してPDF生成を高速化するにはどうすればよいですか?

分類Dev

プログラムを高速化するにはどうすればよいですか?

分類Dev

このプログラムを高速化してフィボナッチ数列を見つけるにはどうすればよいですか

分類Dev

ファイルの検索を高速化するにはどうすればよいですか?

分類Dev

ファイルの検索を高速化するにはどうすればよいですか?

分類Dev

C#プログラムを高速化して、最初の実行ですばやく実行するにはどうすればよいですか?

分類Dev

group by queryを高速化するにはどうすればよいですか?

分類Dev

UISnapBehaviorを高速化するにはどうすればよいですか?

分類Dev

UNION ALLを高速化するにはどうすればよいですか?

分類Dev

numbaを使用して次のコードを高速化するにはどうすればよいですか?

分類Dev

Angularを使用して大量のデータのブラウザレンダリングを高速化するにはどうすればよいですか?

分類Dev

SSDを使用してプログラムの起動を高速化するにはどうすればよいですか?

分類Dev

xmlからcsvへの解析/変換を高速化するにはどうすればよいですか?

分類Dev

xmlからcsvへの解析/変換を高速化するにはどうすればよいですか?

分類Dev

C#とLINQを使用して、GroupByを高速化してからSumを高速化するにはどうすればよいですか?

分類Dev

C#とLINQを使用して、GroupByを高速化してからSumを高速化するにはどうすればよいですか?

分類Dev

iPadをクリックしてjQueryを高速化するにはどうすればよいですか?

分類Dev

JOINおよびBETWEENwhere句を使用してMYSQLクエリを高速化するにはどうすればよいですか?

分類Dev

2つの要素を組み合わせてフィルタリングを高速化するにはどうすればよいですか?

分類Dev

「友達リスト」のMySQLクエリを高速化するにはどうすればよいですか?

分類Dev

MySQL(InnoDB)の挿入を高速化するにはどうすればよいですか?

分類Dev

ラップトップでUbuntu16.04を高速化するにはどうすればよいですか?

分類Dev

ログインセッションを高速化するにはどうすればよいですか?

分類Dev

Javaでプログラムを高速化するにはどうすればよいですか(完全数ファインダー)?

分類Dev

ランダムなノンブロッキングプールの初期化を高速化するにはどうすればよいですか?

分類Dev

リスト内の各エントリのjvmを生成して閉じるforループを高速化するにはどうすればよいですか?

分類Dev

フルディスクDDを高速化するにはどうすればよいですか?

分類Dev

gwtコンパイラを高速化するにはどうすればよいですか?

分類Dev

Neo4jトラバーサルを高速化するにはどうすればよいですか?

Related 関連記事

  1. 1

    clj-pdfを使用してPDF生成を高速化するにはどうすればよいですか?

  2. 2

    プログラムを高速化するにはどうすればよいですか?

  3. 3

    このプログラムを高速化してフィボナッチ数列を見つけるにはどうすればよいですか

  4. 4

    ファイルの検索を高速化するにはどうすればよいですか?

  5. 5

    ファイルの検索を高速化するにはどうすればよいですか?

  6. 6

    C#プログラムを高速化して、最初の実行ですばやく実行するにはどうすればよいですか?

  7. 7

    group by queryを高速化するにはどうすればよいですか?

  8. 8

    UISnapBehaviorを高速化するにはどうすればよいですか?

  9. 9

    UNION ALLを高速化するにはどうすればよいですか?

  10. 10

    numbaを使用して次のコードを高速化するにはどうすればよいですか?

  11. 11

    Angularを使用して大量のデータのブラウザレンダリングを高速化するにはどうすればよいですか?

  12. 12

    SSDを使用してプログラムの起動を高速化するにはどうすればよいですか?

  13. 13

    xmlからcsvへの解析/変換を高速化するにはどうすればよいですか?

  14. 14

    xmlからcsvへの解析/変換を高速化するにはどうすればよいですか?

  15. 15

    C#とLINQを使用して、GroupByを高速化してからSumを高速化するにはどうすればよいですか?

  16. 16

    C#とLINQを使用して、GroupByを高速化してからSumを高速化するにはどうすればよいですか?

  17. 17

    iPadをクリックしてjQueryを高速化するにはどうすればよいですか?

  18. 18

    JOINおよびBETWEENwhere句を使用してMYSQLクエリを高速化するにはどうすればよいですか?

  19. 19

    2つの要素を組み合わせてフィルタリングを高速化するにはどうすればよいですか?

  20. 20

    「友達リスト」のMySQLクエリを高速化するにはどうすればよいですか?

  21. 21

    MySQL(InnoDB)の挿入を高速化するにはどうすればよいですか?

  22. 22

    ラップトップでUbuntu16.04を高速化するにはどうすればよいですか?

  23. 23

    ログインセッションを高速化するにはどうすればよいですか?

  24. 24

    Javaでプログラムを高速化するにはどうすればよいですか(完全数ファインダー)?

  25. 25

    ランダムなノンブロッキングプールの初期化を高速化するにはどうすればよいですか?

  26. 26

    リスト内の各エントリのjvmを生成して閉じるforループを高速化するにはどうすればよいですか?

  27. 27

    フルディスクDDを高速化するにはどうすればよいですか?

  28. 28

    gwtコンパイラを高速化するにはどうすればよいですか?

  29. 29

    Neo4jトラバーサルを高速化するにはどうすればよいですか?

ホットタグ

アーカイブ