現在Wordpressのサイトを作成している最中でページ速度を早めるためにAMPを導入してみたのですが(AMP Plugin Release v1.0-RC1)、chart.jsでcanvasタグを出力している場所でjavascriptも使えなく画像に変換して表示する方法も使えなく困っています。
このような処理を実装している方よろしければ何かいい解決策をお願いします。
現在以下のコードでradarチャートを描写しています。
html
1<div class="canvas_outer"> 2 <canvas id="myRadarChart1" width="" height=""></canvas> 3 </div> 4 <script> 5 var colorSet = { 6 grey: 'rgb(201, 203, 207)', 7 pink: 'rgba(242, 158, 164, 1)' 8 }; 9 // 色のRGB変換 10 var color = Chart.helpers.color; 11 var ctx = document.getElementById("myRadarChart1").getContext('2d'); 12 var myRadarChart1 = new Chart(ctx, { 13 type: 'radar', 14 data: { 15 labels: [ 16 '<?php $field1 = get_field_object('score_1'); echo $field1['label']; ?>', 17 '<?php $field2 = get_field_object('score_2'); echo $field2['label']; ?>', 18 '<?php $field3 = get_field_object('score_3'); echo $field3['label']; ?>', 19 '<?php $field4 = get_field_object('score_4'); echo $field4['label']; ?>', 20 '<?php $field5 = get_field_object('score_5'); echo $field5['label']; ?>' 21 ], 22 datasets: [{ 23 label: '', 24 data: [ 25 <?php 26 $value1 = get_field('score_1'); 27 echo $value1; 28 ?>, 29 <?php 30 $value2 = get_field('score_2'); 31 echo $value2; 32 ?>, 33 <?php 34 $value3 = get_field('score_3'); 35 echo $value3; 36 ?>, 37 <?php 38 $value4 = get_field('score_4'); 39 echo $value4; 40 ?>, 41 <?php 42 $value5 = get_field('score_5'); 43 echo $value5; 44 ?> 45 ], 46 backgroundColor: [ 47 'rgba(239, 185, 199, 0.57)', 48 ], 49 borderColor: [ 50 'rgba(239, 185, 199, 1)', 51 ], 52 borderWidth: 1 53 }] 54 }, 55 options: { 56 legend: { 57 display: false 58 }, 59 scale: { 60 pointLabels: { 61 fontSize: 12, //フォントサイズ 62 fontFamily: "'ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN'", 63 fontColor: colorSet.pink 64 }, 65 ticks: { 66 display: false, 67 fontSize: 10, 68 stepSize: 20, 69 max: 100, 70 beginAtZero: true, 71 }, 72 gridLines: { 73 pointLabels: { 74 fontSize: 18 75 } 76 } 77 }, 78 scales: { 79 yAxes: [{ 80 display: false, 81 gridLines: { 82 drawBorder: false 83 } 84 }], 85 xAxes: [{ 86 display: false, 87 gridLines: { 88 drawBorder: false 89 } 90 }] 91 } 92 } 93 }); 94 </script>
あなたの回答
tips
プレビュー