TableタグにClassを加えるだけ:グラフやチャートを実装できるCSSフレームワークを使ってみる(Charts.css)
はじめに
Charts.cssというHTMLのClass指定だけで、チャートやグラフを表示できるフレームワークがあるということを知りましたので、どんなものか試してみました。
Charts.css
公式サイト
https://chartscss.org/
https://github.com/ChartsCSS/charts.css
CDNの指定
・CSSの設定として下記を指定
<link rel="stylesheet" href="https://unpkg.com/charts.css/dist/charts.min.css">
CDNを指定し、テーブルタグにclassを加えていきます。charts-css の次に、チャートの種類、そしてオプション等です。
<table class="charts-css bar hide-data show-primary-axis show-data-axes">
...
</table>
種類は以下のようなものがありますが、まだUnderver Developmentとなっているものもあります。
色やラベル、3D効果、アニメーションなどがあります。
サンプルでは、下記のような各国のメダル数を表示できるものがでていました。
ソースコード:https://chartscss.org/components/tooltips/
Mixed Charts
- 簡単なMixed Chartsを作成してみました。
- グラフの中に数字をいれることはできましたが、目盛りをいれることができなそうでした。やはり簡単にテーブルデータをグラフ・チャート化できるのが売りだと思うので、細かいことはできないことがありそうです。(目盛りは最低でもあるべきとは思いますが)
- 折れ線グラフは、始点と終点をいれる形なので、中央に設定することはできなそうでした。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>CSS CHART</title>
<link rel="stylesheet" href="https://unpkg.com/charts.css/dist/charts.min.css">
<style>
#my-chart {
position: relative;
height: 550px;
width: 100%;
max-width: 800px;
margin: 0 auto;
}
#my-chart > table {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
#my-column {
--color: lightblue;
}
#my-line {
--color: darkgreen;
}
</style>
</head>
<body>
<div id="my-chart">
<table class="charts-css column show-heading show-labels data-spacing-20 show-primary-axis" id="my-column">
<caption>グラフタイトルの設定</caption>
<tbody>
<tr><th scope="row"> 2020/7 </th><td style="--size: calc( 30000 / 150000 );">\30,000</td></tr>
<tr><th scope="row"> 2020/8 </th><td style="--size: calc( 60000 / 150000 );">\60,000</td></tr>
<tr><th scope="row"> 2020/9 </th><td style="--size: calc( 90000 / 150000 );">\90,000</td></tr>
<tr><th scope="row"> 2020/10 </th><td style="--size: calc( 120000 / 150000 );">\120,000</td></tr>
</tbody>
</table>
<table class="charts-css line" id="my-line">
<tbody>
<tr><th scope="row"> 2020/7 </th><td style="--start: 0.2; --size: 0.8;"></td></tr>
<tr><th scope="row"> 2020/8 </th><td style="--start: 0.8; --size: 0.6;"></td></tr>
<tr><th scope="row"> 2020/9 </th><td style="--start: 0.6; --size: 0.7;"></td></tr>
<tr><th scope="row"> 2020/10 </th><td style="--start: 0.7; --size: 0.9;"></td></tr>
</tbody>
</table>
</div>
</body>
</html>
まとめ
- HTMLのtableにClassを加えるだけで、グラフやチャートが実装できます。
- すでにHTMLにTableデータがあり、その下あたりにちょっとグラフを入れたいなと思ったときに便利ではないでしょうか。
- テーブルデータを外部から読み込み、月日などによりデータが変わっていく場合などはちょっとやりにくいですし、細かい設定を実施する際には、Chart.jsのほうが使い勝手がよさそうです。
参考URL
Author And Source
この問題について(TableタグにClassを加えるだけ:グラフやチャートを実装できるCSSフレームワークを使ってみる(Charts.css)), 我々は、より多くの情報をここで見つけました https://qiita.com/yoshi_yast/items/41af872df75f39eb6cf1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .