Interactive Data Visualization for the Web

5年前の本の書評のドラフト。

なんも書いてないけどこの本は良かった。

ProductName Interactive Data Visualization for the Web
Scott Murray
Oreilly & Associates Inc / 2997円 ( 2013-04-02 )


やる気が出てきたのでやる気の無さをD3.jsで可視化してみた

このブログは12年以上続けているのだけど、ここ2年程モチベーションが下がりまくっていたので、エントリ数をバーチャートにしてみた。

本当は左側に年を付けたかったのだけどtwitter-bootstrapが悪さしているみたいで、おかしなレイアウトになってしまうので諦めた。

来年はコード書いたり色々したい。

D3.js楽しいですね。

エンジニアのための データ可視化

Amazonでは低評価がちらちら目立ちますが、ここらへんを楽しく読めるなら買うと良いかと思います。視覚変数、視覚記号のあたりがすっきりまとまっていて参考になった。

D3.jsを手取り足取り教えている本ではなく、そもそもCoffeeScriptもD3.jsも知っているものとして取り扱っている感じです。

入門として読むならD3をはじめようを読んだほうがいいだろうし、CoffeeScriptを習いたければモダンガイドでも読めばいいと思います。

selectAll().data().enter()のわかりやすい説明

これはわかりやすい

これどういう本だったか忘れたw(昔読んだのに)

ProductName Interactive Data Visualization for the Web
Scott Murray
Oreilly & Associates Inc / 2997円 ( 2013-04-02 )


IE11でD3.jsを使うときにmetaタグでedgeしておかないといけない

職場のIEが最近やっとiE8->IE11にあがったので、やたらとD3.jsばかりいじっているのだけど、IE11の場合HTMLソースに

meta http-equiv="X-UA-Compatible" content="IE=edge"

って入れておかないとちゃんと動かないんだよね。F12押して、モードみるとEdgeになってんのにさ

なんか開発ツールの使いかた間違っているんだろうか…

D3をはじめようを快適に写経するためにlivereloadを使って更新時にブラウザをリロードする

日本語の入門書はD3をはじめようがあるけど、ほんのさわりだけなので、日本語の簡単なチュートリアルが読みたいというヒト以外には積極的に読む必要性を感じないかな。ただ、あのイディオム(selectAll().data().enter()ってやつ)とメソッドチェインに慣れてないのだったら読んだほうがいいのかなぁ。日本語のほうがわかりやすいしなぁ。

ちゃんと読むつもりならInteractive Data Visualization for the Webのほうが良いと思う(まだ書評かいてないけど)。

ProductName Interactive Data Visualization for the Web
Scott Murray
Oreilly & Associates Inc / 2997円 ( 2013-04-02 )


javascriptを書き写すだけなのはつまらなかったのでcoffeescriptで書いたのと、coffee --watchだとコンパイル時にブラウザリロードしないのでlivereloadを使った。

Guardfileはこんな感じ。更新されたファイル名をfuncに渡せないのでハードコードしている。

#!/usr/bin/env python

from livereload.task import Task
import logging

def coffee():
    from subprocess import Popen, PIPE
    argv = ["/Users/kzfm/.nvm/v0.8.10/bin/coffee", "-c", "-m", "js/mean.coffee"]
    p = Popen(argv, stdin=PIPE, stdout=PIPE, stderr=PIPE)
    stdout, stderr = p.communicate()
    if stderr:
        logging.error(stderr)

Task.add('js/mean.coffee', coffee)

あとは編集してセーブすると自動コンパイルして、ブラウザもリロードしてくれる。

livereload_coffee