質問編集履歴
1
ソース追加
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -7,8 +7,179 @@ | |
| 7 7 | 
             
            One or more participants failed to draw()
         | 
| 8 8 | 
             
            ```
         | 
| 9 9 |  | 
| 10 | 
            +
            ```html
         | 
| 11 | 
            +
            <!doctype html>
         | 
| 12 | 
            +
            <html>
         | 
| 13 | 
            +
              <head>
         | 
| 14 | 
            +
                <meta charset="utf-8" content="">
         | 
| 15 | 
            +
                <title>google-chart</title>
         | 
| 16 | 
            +
             
         | 
| 17 | 
            +
                <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript" ></script>
         | 
| 18 | 
            +
                <script type="text/javascript" src="https://www.google.com/jsapi"></script>
         | 
| 19 | 
            +
                <script src="../jRange/jquery.range.js"></script>
         | 
| 20 | 
            +
                <link rel="stylesheet" href="../jRange/jquery.range.css">
         | 
| 21 | 
            +
                <!-- スクリプト部分 -->
         | 
| 22 | 
            +
                <script type="text/javascript" src="../js/graph.js"></script> 
         | 
| 23 | 
            +
                
         | 
| 24 | 
            +
              </head>
         | 
| 25 | 
            +
              
         | 
| 26 | 
            +
              <!-- HTML部分 -->
         | 
| 27 | 
            +
              <body>
         | 
| 28 | 
            +
                
         | 
| 29 | 
            +
                  <h1></h1>
         | 
| 30 | 
            +
                </div>
         | 
| 31 | 
            +
                <div id="dashboard_div" style="text-align: center;">
         | 
| 32 | 
            +
                    <!--Divs that will hold each control and chart-->
         | 
| 33 | 
            +
                    <div id="chart_div"></div>
         | 
| 34 | 
            +
                    <table width=800px style="display: none;">
         | 
| 35 | 
            +
                      <tr>
         | 
| 36 | 
            +
                        <td width="50%" align="center">
         | 
| 37 | 
            +
                          <span style="position: relative; top: 8px;">範囲</span>
         | 
| 38 | 
            +
                          <div style="margin-top: 10px;" id="filter_div"></div>
         | 
| 39 | 
            +
                          <!-- <span style="color: white;">0</span> -->
         | 
| 40 | 
            +
                        </td>
         | 
| 41 | 
            +
                        <td width="50%" align="center">幅:
         | 
| 42 | 
            +
                          <span id="bucketSize" style="color:#999; font-size: 15px; text-decoration: none;"></span>
         | 
| 43 | 
            +
                            <input id="bucketSlider" type="hidden" class="bucketSlider" value="0" onchange="changeOptions();"
         | 
| 44 | 
            +
                              style="margin-top: 0px;" />
         | 
| 45 | 
            +
                        </td>
         | 
| 46 | 
            +
                
         | 
| 47 | 
            +
                      </tr>
         | 
| 48 | 
            +
                    </table>
         | 
| 49 | 
            +
                 </div>
         | 
| 50 | 
            +
                    <script>
         | 
| 51 | 
            +
                        $('.bucketSlider').jRange({
         | 
| 52 | 
            +
                          from: 0,
         | 
| 53 | 
            +
                          to: 500,
         | 
| 54 | 
            +
                          showLabels: false,
         | 
| 55 | 
            +
                          snap: true
         | 
| 56 | 
            +
                        });
         | 
| 10 57 |  | 
| 58 | 
            +
                        $(function () {
         | 
| 59 | 
            +
                          // 初期
         | 
| 60 | 
            +
                          $('#bucketSize').html($('#bucketSlider').val());
         | 
| 61 | 
            +
                          $('#bucketSlider').on('input change', function() {
         | 
| 62 | 
            +
                            // 変動
         | 
| 63 | 
            +
                            $('#bucketSize').html($(this).val());
         | 
| 64 | 
            +
                          });
         | 
| 65 | 
            +
                        });
         | 
| 66 | 
            +
                      </script>
         | 
| 67 | 
            +
                  </div>
         | 
| 68 | 
            +
              </body>
         | 
| 69 | 
            +
            </html>
         | 
| 11 70 |  | 
| 71 | 
            +
            ```
         | 
| 72 | 
            +
             | 
| 73 | 
            +
            ```js
         | 
| 74 | 
            +
            // Load the Visualization API and the controls package.
         | 
| 75 | 
            +
            google.charts.load('current', { 'packages': ['corechart', 'controls','bar'] });
         | 
| 76 | 
            +
            google.setOnLoadCallback(getJson);
         | 
| 77 | 
            +
            let chart;
         | 
| 78 | 
            +
            let thres;
         | 
| 79 | 
            +
            let scale;
         | 
| 80 | 
            +
            let dataArray = [['','ダミー']];
         | 
| 81 | 
            +
             | 
| 82 | 
            +
             | 
| 83 | 
            +
            //チャート表示処理
         | 
| 84 | 
            +
            function drawChart(thres){
         | 
| 85 | 
            +
                let chartdata = google.visualization.arrayToDataTable(dataArray);
         | 
| 86 | 
            +
                $('table').hide();
         | 
| 87 | 
            +
                // ヒストグラムの場合
         | 
| 88 | 
            +
                if(thres == 1){
         | 
| 89 | 
            +
                    $('table').show();
         | 
| 90 | 
            +
                    // Create a dashboard.
         | 
| 91 | 
            +
                    let dashboard = new google.visualization.Dashboard(
         | 
| 92 | 
            +
                    document.getElementById('dashboard_div'));
         | 
| 93 | 
            +
                
         | 
| 94 | 
            +
                    // Create a range slider, passing some options
         | 
| 95 | 
            +
                    let donutRangeSlider = new google.visualization.ControlWrapper({
         | 
| 96 | 
            +
                    'controlType': 'NumberRangeFilter',
         | 
| 97 | 
            +
                    'containerId': 'filter_div',
         | 
| 98 | 
            +
                    'options': {
         | 
| 99 | 
            +
                        'filterColumnLabel': 'ダミー'
         | 
| 100 | 
            +
                    }
         | 
| 101 | 
            +
                    });
         | 
| 102 | 
            +
                
         | 
| 103 | 
            +
                    // Create a pie chart, passing some options
         | 
| 104 | 
            +
                    let Histogram= new google.visualization.ChartWrapper({
         | 
| 105 | 
            +
                    'chartType': 'Histogram',
         | 
| 106 | 
            +
                    'containerId': 'chart_div',
         | 
| 107 | 
            +
                    'options': {
         | 
| 108 | 
            +
                        'width': 900,
         | 
| 109 | 
            +
                        'height': 600,
         | 
| 110 | 
            +
                        'pieSliceText': 'value',
         | 
| 111 | 
            +
                        'legend': 'right',
         | 
| 112 | 
            +
                        'histogram': {
         | 
| 113 | 
            +
                        hideBucketItems: true,
         | 
| 114 | 
            +
                        bucketSize: 10
         | 
| 115 | 
            +
                        },
         | 
| 116 | 
            +
                        'bar': { groupWidth: "100%" },
         | 
| 117 | 
            +
                        'colors': ['gray']
         | 
| 118 | 
            +
                    },
         | 
| 119 | 
            +
                
         | 
| 120 | 
            +
                    });
         | 
| 121 | 
            +
                    dashboard.bind(donutRangeSlider, Histogram);
         | 
| 122 | 
            +
                
         | 
| 123 | 
            +
                    dashboard.draw(dataArray);
         | 
| 124 | 
            +
                    changeOptions = function () {
         | 
| 125 | 
            +
                        Histogram.setOption('histogram.bucketSize', document.getElementById('bucketSlider').value);
         | 
| 126 | 
            +
                        console.log(document.getElementById('bucketSlider').value);
         | 
| 127 | 
            +
                        dashboard.draw(dataArray);
         | 
| 128 | 
            +
                    };
         | 
| 129 | 
            +
                棒グラフの場合
         | 
| 130 | 
            +
                }else if(thres == 2){
         | 
| 131 | 
            +
                    let options = {
         | 
| 132 | 
            +
                        title: '',
         | 
| 133 | 
            +
                        hAxis: {
         | 
| 134 | 
            +
                            format: '',
         | 
| 135 | 
            +
                        },
         | 
| 136 | 
            +
                        bars: 'horizontal'
         | 
| 137 | 
            +
                        };
         | 
| 138 | 
            +
                        let chart = new google.charts.Bar(document.getElementById('chart_div'));
         | 
| 139 | 
            +
                        chart.draw(chartdata, google.charts.Bar.convertOptions(options));
         | 
| 140 | 
            +
                //円グラフの場合
         | 
| 141 | 
            +
                }else if(thres == 4){
         | 
| 142 | 
            +
                    let options = {
         | 
| 143 | 
            +
                        //title: '妊婦登録時 妊娠分娩歴3 産科合併症の有無(全員)',
         | 
| 144 | 
            +
                        pieSliceText: 'none',
         | 
| 145 | 
            +
                        //colors: ['#3265a8', '#bddeff']
         | 
| 146 | 
            +
                        };
         | 
| 147 | 
            +
                        let chart = new google.visualization.PieChart(document.getElementById('chart_div'));
         | 
| 148 | 
            +
                        chart.draw(chartdata, options);
         | 
| 149 | 
            +
               
         | 
| 150 | 
            +
                }
         | 
| 151 | 
            +
                dataArray = [['','ダミー']];
         | 
| 152 | 
            +
            }
         | 
| 153 | 
            +
            //Json取得処理
         | 
| 154 | 
            +
            function getJson(){
         | 
| 155 | 
            +
                $('#search').click(function() {
         | 
| 156 | 
            +
                    let hostUrl = "http://localhost:3000/result/" + $('#zip').val();
         | 
| 157 | 
            +
                    $.ajax({
         | 
| 158 | 
            +
                    type: 'get',
         | 
| 159 | 
            +
                    url: hostUrl,
         | 
| 160 | 
            +
                    dataType : 'json'
         | 
| 161 | 
            +
                    }).done(function(data){
         | 
| 162 | 
            +
                        console.log("success");
         | 
| 163 | 
            +
                        //Jsonデータのbreaks,countをGoogleChartのデータ配列に格納
         | 
| 164 | 
            +
                        let data_item = data.count.map((c, i) => {
         | 
| 165 | 
            +
                          return [data.breaks[i].toString(), c]; 
         | 
| 166 | 
            +
                        });
         | 
| 167 | 
            +
                        dataArray.push(...data_item);
         | 
| 168 | 
            +
                        console.log(dataArray);
         | 
| 169 | 
            +
                           thres = data.thres;
         | 
| 170 | 
            +
                           
         | 
| 171 | 
            +
                           drawChart(data.thres);
         | 
| 172 | 
            +
                    }).fail(function(){
         | 
| 173 | 
            +
                            alert('データが無いです');
         | 
| 174 | 
            +
                            $('#zip').val("");
         | 
| 175 | 
            +
                    });
         | 
| 176 | 
            +
             | 
| 177 | 
            +
             | 
| 178 | 
            +
                });
         | 
| 179 | 
            +
            }
         | 
| 180 | 
            +
             | 
| 181 | 
            +
            ```
         | 
| 182 | 
            +
             | 
| 12 183 | 
             
            ### 試したこと
         | 
| 13 184 |  | 
| 14 185 | 
             
            ここに問題に対して試したことを記載してください。
         | 
