Excelから関数型言語マスター5回目:Webにグラフ表示...をやってみた
元記事様:
実行環境
・Mac OS v10.15.7(スペックがゴミすぎてOSのアップデートが不能💦)
・Elixir v1.13.2 ( Erlang/OTP 24)
・Phoenix v1.6.6
グラフ化する数値の追加
<%
result = Json.get( "https://qiita.com", "/api/v2/items?query=elixir" )
data = result
columns = [ "id", "title", "created_at" ,"likes_count" ]
%>
取得する外部APIの列項目を加えるだけ。本当にETCだなぁ。(Easy To Change、高速道路に乗るときに使うやつじゃない)
「Google Charts」によるグラフ表示
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load( "visualization", "1", { packages:[ "corechart" ] } );
google.setOnLoadCallback
(
function()
{
var data = new google.visualization.DataTable();
data.addColumn( 'string', 'コラム名' );
data.addColumn( 'number', 'いいね数' );
data.addRows
Google Chartsを呼び出して、グラフの種類指定して、縦列横列の要素を指定している感じかな。クラスの型指定と表示名とか指定してあるような。何をしているか雰囲気は分かるから不思議。
( [ <%= for record <- data do %> [ '<%= record[ "title" ] %>', <%= record[ "likes_count" ] %> ], <% end %> ] );
で、for文でdataの範囲=前回表にして取得したデータ、のうち「いいね」数を取得。
var options =
{
title: 'Qiitaコラム「いいね」数',
width: 1000,
height: 600,
chartArea: { width: '30%' },
legend: { position: "none" },
};
var chart = new google.visualization.BarChart( document.getElementById( 'likes' ) );
chart.draw( data, options );
}
);
</script>
で、グラフのタイトル欄に何と表示させるかと、グラフエリアの大きさを決める。
<div id="likes" style="margin: 0px; padding: 0px; border: 10px #0000ff;"></div>
いつものCSV。グラフの棒線の太さと余白と色決める。
あっという間に、出来上がり、と。早いなぁ🥰
おまけ
記事のタイトルが一部非表示になっているので、グラフエリアを調整してタイトル全部表示させてみた。
疑問点なし。次行ってみよ〜。
この記事が気に入ったらサポートをしてみませんか?