Julia&Juno: Get started 1_installation and creating a chart ver. 5

Last Updated on December 5, 2021 by shibatau

I’m rewriting now. Some typos are corrected.

はじめ方1_インストールとグラフの作成

はじめ方2_データフレームとパイプ演算子

はじめ方3_データフレームの集計

はじめ方4_グラフにラインと文字を入れる

I. Julia

Julia is a multi-paradigm, primarily functional programming language that was created for machine-learning and statistical programming.

5 Ways Julia Is Better Than Python

I use Juno as an IDE.

I have add a line art to a chart that was created with Julia and exported as SVG.

II. Installation

JunoはEditorのAtomにインストールします

Juliaをインストールして、次にAtomをインストールして、AtomでJunoをインストールします

インストール方法は次に解説されています。

Atom and Juno: the perfect duo for Julia development

III. JunoのTheme

テーマを簡単に変更できます。ダークなテーマはかっこいいのですが、グラフは見づらくなります。とくにGadflyでグラフを描くと拡大ができないので、ファイルに書き出して、それを開いて詳細を確認しなければならなくなって面倒です。

Plotsなら拡大、縮小できるのでこの問題はなくなります。ただし、GadflyはRのggplotに準拠しているのでたて長データの扱いが得意です。

IV. Installing packages

5つのPackagesをインストールします。

ショートカットは、Packages>Junoで示されます。

ファイルを作成し、ファイル名.jlで保存すると、Juliaのコードとして認識されます。コードを書いてCommand+Returnで実行します。

V. Creating a simple chart

1.Add and Using

ライブラリを追加します。Pkg.add(” “)は、Pythonの!install、Rのinstall.packages(” “)です。

using Pkg
Pkg.add("Gadfly")
Pkg.add("CSV")
Pkg.add("DataFrames")
Pkg.add("HTTP")

ライブラリを使用します。usingは、Pythonのimport、Rのlibrary( )です。

using Gadfly
using CSV, DataFrames
using HTTP
 

2.Read a sample data and create a chart

Pastebinに置いた、英語と日本語の試験結果のCSVデータ(カンマ区切り)を読み込んで、出身国別に色分けし、SVGで書き出しました。

スクリプトは次です。

# load the data
resp = HTTP.request("GET", "https://pastebin.com/raw/nWkAe1qR")
df = CSV.read(IOBuffer(String(resp.body)))
# create a scatter plot
p = plot(df, x=:japanese, y=:english, color=:nationality, Geom.point)
#save the data as SVG
img = SVG("exam1.svg", 14cm, 8cm)
draw(img, p)
 

Web上のCSVデータを取得するのに、ライブラリHTTPを使用します。

描画ライブラリとしてはPlotsがよく用いられますが、GadflyはRのggplotに準拠しているのでグラフを描きやすいです。

例えば、たて長データでグラフを描けます。また、PlotsだとSymbolタイプの列を軸に指定できませんが、GadflyだとSymbolのままでグラフを描けます。

グラフを書き出す形式はSVGが標準です。SVG形式だとInkscapeで自由に描き直せるので便利です。

3.グラフを並べて表示

英語と数学のヒストグラムを並べて配置します。

スクリプトは次です。

fig1a = plot(df, x=:english, y=:japanese, Geom.point);
fig1b = plot(df, x=:english, Geom.histogram);
fig1c = plot(df, x=:japanese, Geom.histogram);
fig1 = hstack(fig1b, fig1c)
title(hstack(fig1b, fig1c), "histograms for english and japanese", fill(colorant"red"))

 

About shibatau

I was born and grown up in Kyoto. I studied western philosophy at the University and specialized in analytic philosophy, especially Ludwig Wittgenstein at the postgraduate school. I'm interested in new technology, especially machine learning and have been learning R language for two years and began to learn Python last summer. Listening toParamore, Sia, Amazarashi and MIyuki Nakajima. Favorite movies I've recently seen: "FREEHELD". Favorite actors and actresses: Anthony Hopkins, Denzel Washington, Ellen Page, Meryl Streep, Mia Wasikowska and Robert DeNiro. Favorite books: Fyodor Mikhailovich Dostoyevsky, "The Karamazov Brothers", Shinran, "Lamentations of Divergences". Favorite phrase: Salvation by Faith. Twitter: @shibatau

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.