ブログに自動で損益グラフを描画しているが、時々失敗する

9月くらいから売買結果のグラフをブログに表示している。

これもメールを介した自動投稿である。これによって売買結果の履歴が視覚的に一目瞭然となった。(これ自体はよかったが、損益自体はトホホである)

10回に9回くらいはうまく表示されるが、10回に1回くらいうまく行かない。

メール投稿された文字が勝手に変換されておかしなことになる。

このブログはWordPressを使って作成しているが、グラフ表示に使用しているJavascriptと相性が悪いのかもしれない。

仕方ないので手動で修正しているが、手間なのでなんとかならないだろうか。

うまく行く時と行かない時の差がわからない。

Chart.jsによる損益グラフの描画

Chart.jsでは以下のような感じで記述すると、グラフが描画される。

<div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.1.4/Chart.min.js"></script>
<canvas id="myChart1234"></canvas>
<script>var ctx = document.getElementById('myChart1234').getContext('2d');
var mylineChart = new Chart(ctx, {type: 'line',data: {labels: 
['2020/01/06', '2020/01/07', '2020/01/08', '2020/01/09', '2020/01/10'],
datasets: [{label: '損益',data: [84444, 102180, 109416, 104064, 98888],
backgroundColor: 'rgba(255,153,0,0.4)',lineTension:0}]}});
</script>
</div>

ただ、これをそのままWordPressのブロックに突っ込んでもうまく行かない。

「htmlとして編集」をしなければならない。

そうすると取り合えず下のようなグラフが表示される。

実際にやりたいのはグラフのメール投稿である。

記事のメール投稿にはPostieを使っているが、その場合上の構文のように改行があるとうまくいかないようだ。

改行をなくして一文で送信すると表示されるのでそうしている。

追記: 改行があってもPostieの設定で「改行フィルター」をYesにするとテキストから改行が取り除かれてうまくいくようである。

ただ、日によって表示されないこともある。

その場合は"<script src="の部分がなぜか通常のhtmlリンクのように勝手に書き換わっていて、Javascriptとして認識されなくなっている。

これがなぜ起こるのかが謎だ。

タイトルとURLをコピーしました