R での丁寧な説明があるページを見ながら,Julia でやってみた。
元のページでは,dplyr を使ったり,ロングフォーマットに変換したりで,かえってわかりにくいように思えた。
なお,いつも使っているのは using Plots だが,日本語が化けるので,PyPlot を使うことにした。
それでも最初は化けたのだが,Python で matplotlib を使って日本語は使えていたので,一度だけ以下の 2 行で使用するフォントファミリーを指定してやることにより Julia でも問題なく日本語が使えた。
using PyCall
PyCall.PyDict(matplotlib["rcParams"])["font.family"] = "IPAMincho"
さて,以下がプログラム。ファイルを読んで,必要行を抜き出して,プロットする。実に簡明。
この通りをやってみようと思う人はいないと思うが,必要ならば wb_gdp_pc.csv の在処はググってみてください。
using CSV, DataFrames, PyPlot
wb_gdp = CSV.read("wb_gdp_pc.csv", DataFrame, header=5);
japan = Matrix(filter(1 => x -> x == "Japan", wb_gdp))[1, 5:end-2];
china = Matrix(filter(1 => x -> x == "China", wb_gdp))[1, 5:end-2];
year = collect(1960:2017);
plot(year, china, "r.-", year, japan, "c^--", markersize=2, linewidth=0.5)
title("日本と中国の 1 人当たりGDP の推移:1960−2017")
xlabel("Year")
ylabel("1 人あたり GDP(US\$)")
legend(["China", "Japan"])
こんな図が描けました。
追記:
これをやった後で,using Plots でも日本語が使えるようになっていることを確認した。
ただし,明朝体を指定しているのにゴシックしか出ない。なぜだ。
using Plots
plot(collect(1:10),fontfamily="IPAMincho",
label="日本語",title="日本語書けた")