PHPとMySQLで取得した値をD3.jsを使って描画するときの備忘録

時給1000円〜高収入翻訳学生バイト・インターン募集! 急募

シェアする

サーバーサイドからデータを取得して、非同期でグラフを描画したいというケースがあるかと思います。更にそこからレスポンシブでグラフを変化させるという事を求められることがありますが、今回は第一段階としてシンプルにサーバーからデータを取得して、JavaScriptで受け取って、そのままd3.jsで描画するという流れについてご紹介します。

エンジニアは年収の高い仕事です。

就職・転職・起業・フリーランス・起業・自宅で稼ぐ金額を増やしたい、スキルアップして年収・給与を2倍にあげたいという方は絶対チェックしてくださいね。

▼当サイトで申込みが多いプログラミングスクール・教室はこちら!

【1位】WebCamp PRO (ウェブキャンププロ)【就職転職保証・返金保証・年収大幅アップ】

【2位】WebCamp(ウェブキャンプ)【5ヶ月連続!2位】

【3位】CodeCamp(コードキャンプ)【自宅で効率的にスキルアップ・年収増】

ほかにも多くのプログラミングスクールがありますが、現役エンジニアが利用して間違いないスクールを厳選しています。

実際にWebCampに通って上場企業へ転職、年収が上がったエンジニアの話 → プログラミング未経験からエンジニアへ

d3.jsとは

d3.js

D3.js はデータに基づいてドキュメントを操作するための JavaScript ライブラリです。d3というのはデータ・ドリヴン・ドキュメントの略称となっていて、d3.jsを利用する事によってHTML、SVG、CSSをサポートして比較的簡単に複雑なグラフを視覚化できます。

d3.jsの公式ドキュメント

http://ja.d3js.node.ws/

英語のドキュメント
https://d3js.org/

d3.jsで描画したもの

d3.js

データをビジュアル化する目的

Rplayでは就活イベントを多数掲載しており、直接就活生がイベントにエントリーできるようになっています。Rplayを経由してエントリーしたイベントの名前や大学、性別など様々なデータを解析していて、テーブル表示にしても直感的・視覚的に分かりにくいのでグラフィカルに表示したいというニーズがありました。

d3.js

単純に上記の画像のようなデータをテーブル表示にしても分かりやすい、比較しやすいというものもあります。

3つぐらいの大学の偏差値や内定先の企業、学費、強い部活などを比較するというようなデータ(テーブル)を作成し、ビジュアル化するのであればテーブルの方が分かりやすいと思います。

大事なのはデータの内容と目的を明確にし、ビジュアル化するということです。目的があると納得しやすいので、そこを明確にしておくことをお勧めします。

「データの羅列は見たくないけど、ビジュアル化されていたら見ることもある。」ということもありますので、そのページの滞在時間や離脱などで、グラフ化したページのUXを計測するというのも手ではあります。

そこから、まず第一段階として、「イベントに参加している学生の大学名と比率を円グラフで表示」というのを実装してみました。

簡単な実装の流れ

1. データベースからデータを取得する

上記は、イベントに参加している就活生の出身大学上位10大学をデータベースから取得して、更にその大学に通っている大学生の人数を取得します。

その後、大学生の10校のイベント参加者を母数としたいので合計値を算出します。
※若干冗長的になってしまっているのは、筆者がPHPに慣れていないということがございますので、ご了承くださいませ。

データが取得できたら、データを加工して、JSON形式にしておきます。
これは、JavaScriptでフロント側から取得したいためです。

2. フロント側でデータを取得する

そのままd3.jsなどのグラフィカルな使い方をせずに、表示するときもあります。tableなどにそのままレンダリングするというケースですが、今回はd3.jsを使います。

Rplayではこちらをapiとして作成しており、同一ドメインであるためにクロスドメインの問題は起きませんが、クロスドメインの問題が起きた場合は、jsonpを利用してください。

successの中でd3.jsの関数を書いていきます。dataで取得したらそのままデータを渡すように実装しています。綺麗に書く方法もありますが、今回は分かりやすさだけを追求してそのまま書きます。

ajaxで取得したデータを、drawPie関数の第二引数に渡して、そのまま描画の関数を実行しています。
#pieは、HTML側に、下記を用意することによって、そこにグラフが挿入されます。

今回は取得したデータを直接d3.jsを使って描画していますが、ネットに落ちている情報ですと結構ファイルから取得するケースがあります。
下記のようなケースです。この方が綺麗に書くことができますが、リアルタイムでのグラフ変更をするときには変数を第一引数に渡すことができませんでした。ですので、今回はご紹介してきた実装方法で実装しています。

さいごに: d3.jsは以外と簡単

以上いかがでしたでしょうか。

以外と一連の流れをやってみると簡単に実装できてある程度綺麗なグラフが表示できるので楽しいです。

ここからグラフをホバーしたときにアニメーションさせたり、値がリアルタイムで変化したり、ブラウザのサイズによって可変させたり、様々な要件が追加されることがあります。そういうリアルタイムでのインタラクションを含むビジュアル化をするときにd3.jsは威力を発揮します。

それに関しては引き続きタイミングがありましたら書いていきます。

プログラミングスクール・教室のおすすめ・学生・料金が安い・オンライン・転職・評判まとめ

ビットコイン・仮想通貨取引所オススメ

本サイトは、学生・主婦・フリーランス・起業をしたい方・自由に働きたい方向けに、 の料金・カリキュラム・受講内容・どういう卒業生がいるのか、どういう会社が運営してるのかなどの情報を掲載するサイトを作成しています。

  • 「プログラミングスクール・教室って何?」
  • 「どのプログラミングスクール・教室なら安心して通えるの?」
  • 「料金っていくらくらいなの?」

などの疑問にもお答えしていきます!

プログラミングスクール・教室を利用するのが初めての方

本サイトは“プログラミングスクール・教室を利用するのが初めての方” を想定して作られており、学生・主婦・フリーランス・起業をしたい方・自由に働きたい方などプログラミングスクール・教室の利用経験がある方でも信頼できる情報を掲載しています! ※時間がなく全文の記事が読めない!という方は、当サイトで最もおすすめのプログラミングスクール・教室である 「WebCamp pro 」に登録してみましょう!(オススメ!)

絶対に失敗しない!プログラミングスクール・教室を選ぶ時の4つのポイント!

プログラミングスクール・教室を選ぶ上で重要なポイントは、以下4点になります。

  • 授業料金
  • カリキュラム・授業の内容
  • 就職・転職・起業・フリーランスに使えるかどうか
  • 運営会社がどこか

授業料金の内容

「プログラミングスクール・教室を利用する際の授業料金」は重要な点です。 ”数万ぐらい”と思うかもしれませんが、年間10万以上変わってくることもあります! 最初から、料金が安いプログラミングスクール・教室を利用していれば、“損をせず”プログラミングを覚えることができますよ。

サービス名 金額
WebCamp pro  432,000円
CodeCamp(コードキャンプ)   50,000 ~ 300,000円
techboost(テックブースト)   107,784円
  • 料金が安いのにカリキュラムが充実していて、エンジニアとして転職や就職・起業に役立つ 「techboost(テックブースト)」がおすすめです!

カリキュラム・授業内容・先生の充実度

プログラミングスクール・教室を利用するなら「カリキュラム・授業内容・先生の充実度」も大切です。 エンジニアになるために効率的でかつ実践を踏まえたプログラミング学習ができるのが重要です。 先生もマンツーマンで教えて欲しいですよね。

ほとんどのプログラミングスクール・教室は、 マンツーマンのプログラミングスクールがなく、カリキュラムもそこまで変わらないけど料金が高いこともあります。 マンツーマンで初心者だけどしっかり教えて欲しいという方はマンツーマンのプログラミングスクール・教室がおすすめです。

運営している企業の安定性

運営している企業の安定性や安心は大切です。プログラミングスクール・教室にせっかく通ったのに売り上げが伸びておらず、 倒産してしまったということになっては大変です。 上場企業のグループ会社が運営しており、無料体験レッスンがオンラインで受講できるプログラミングスクール・教室が良いです。

就職・転職・起業・フリーランスに使えるかどうか

プログラミングスクール・教室は、結局その後のキャリアをどのように構築していくかが大切です。 学生・主婦・フリーランス・起業をしたい方・自由に働きたい方が主に利用しており、プログラミングは今後必須なスキルとも言われています。 エンジニアの給料は他の職種よりも非常に高く、平均で150−200万程度高くなっています。

この先のキャリアを考えて利用するなら、就職・転職保証なり何かの保証が付いている会社は安心です。

  • 就職・転職保証付のプログラミングスクール・教室を選ぶなら「WebCamp pro

一般的にプログラミングスクール・教室の無料体験レッスンの申し込みは2~3社申し込みをするのが普通 です。 これからご紹介するプログラミングスクール・教室の中から最低でも2~3社は申し込みはしておきましょう!無料で申し込みできます!)

【厳選】プログラミングスクール・教室のおすすめランキング

業界初転職保証つきプログラミングスクール・教室 WebCamp Pro(ウェブキャンププロ)

オススメのポイント

  • 3ヶ月の学習期間と就職・転職期間を設けて確実に次のステップへ
  • 98%が自分の次のキャリアに進めている
  • 今プログラミングで必要とされているRuby on Railsの学習に集中している
  • 毎月3名に10万円の割引チャンス!
  • 受講完了後、3ヶ月以内に転職・就職できない場合は ”全額返金”

初心者におすすめしたいプログラミングスクール・教室は「WebCamp pro 」です。

登録は2分!体験レッスンの無料申し込みができます!

公式サイトへ

上場企業が運営のプログラミングスクール・教室 TechAcademy(テックアカデミー)

オススメのポイント

  • 上場企業のグループ会社が運営、安心感のある運営
  • オンラインで受講できるので、どこにいてもインターネットがあれば利用可能
  • マンツーマンレッスンなので他の人がおらず、周りの目を気にせず集中できる!
  • 受講中のサービスをポートフォリオとして登録し、就職・転職に活かせる!
  • 月々4500円から利用可能!

交通費や時間をかけずに勉強できるプログラミングスクール・教室は「TechAcademy(テックアカデミー) 」です。

登録は2分!体験レッスンの無料申し込みができます!

公式サイトへ

ブロックチェーン・AI・IoTのプログラミングスクール・教室 Tech boost(テックブースト)

オススメのポイント

  • 業界初のブロックチェーン・AI・IoTのプログラミングスクール
  • 専属のメンターがついてくれるので、アプリ開発をやりきることができる
  • 月額99,800円で業界最安値レベルの受講料金
  • 紹介割引、学生割引、友達割引も充実。さらに安く受講できます!
  • キャリアアドバイザーのキャリア相談で就職・転職に活かせる!

流行している技術をいち早く勉強したいなら、プログラミングスクール・教室は「techboost(テックブースト)」です。

登録は2分!体験レッスンの無料申し込みができます!

公式サイトへ

シェアする

この記事が気に入ったら
いいね!しよう

Rplayの最新情報をお届けします

TwitterでRplayをフォローする