Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What is going on with this article?
@uetchy

MarkdownをIPython Notebookにオンラインで変換する「nbify」

More than 3 years have passed since last update.

Markdown を IPython Notebook にオンラインで変換する nbify というWebサービスをリリースしました。
Markdown で記述した記事や教材を、IPython Notebook 形式に変換してダウンロードすることが出来ます。または、ダウンロードせずに nbviewer 上で直接見ることも出来ます。

nbify がどのような働きをするのか、この記事を使って解説します。
例としてこれから matplotlib に関する説明を少しだけ挟みます。

[Sample] matplotlib の使い方

pip install で matplotlib をインストールしよう。

%matplotlib inline
import matplotlib

matplotlib をインストールし終えたら、自由にグラフを描いてみよう。

以下のコードは、 matplotlib.org: mplot3d example code: 2dcollections3d_demo.py のサンプルを使用している。

from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.gca(projection='3d')

x = np.linspace(0, 1, 100)
y = np.sin(x * 2 * np.pi) / 2 + 0.5
ax.plot(x, y, zs=0, zdir='z', label='zs=0, zdir=z')

colors = ('r', 'g', 'b', 'k')
for c in colors:
    x = np.random.sample(20)
    y = np.random.sample(20)
    ax.scatter(x, y, 0, zdir='y', c=c)

ax.legend()
ax.set_xlim3d(0, 1)
ax.set_ylim3d(0, 1)
ax.set_zlim3d(0, 1)

plt.show()

.ipynbへ変換

この記事のMarkdown版のURLを nbify のフォームに入力して、[View on nbviewer] を押すと、nbviewer でこの記事を見ることが出来ます。もしくはこのリンクから、直接nbviewerにアクセス出来ます。

Qiitaでは、記事のURLに .md を付け足すことで、内容をMarkdown形式で見ることが出来ます。
実際に付け足すと、以下のようになります。
http://qiita.com/uetchy/items/221da126f92e7c016beb.md

ブックマークレット

Qiitaの記事をその場でIPython Notebookに変換するブックマークレットを作りました。

javascript:(function(){window.location.href="http://nbviewer.jupyter.org/url/nbify.herokuapp.com/"+window.location.href+".md";})();

このコードをブックマークに追加して、Qiitaの記事を開いたページで実行すると、nbviewerが開いて記事を.ipynb形式で見れます。

md2ipynb

MarkdownをIPython Notebookに変換するために、md2ipynb という小さなライブラリを作りました。今のところ、Pythonのコードブロックにしか対応していませんが、他の言語を追加することは難しいことではないでしょう。

結論

  • 記事中のコードをその場で実行しつつチュートリアルを読み進めることが出来るようになりました
  • インタラクティブにコードを弄って挙動の変化を確かめることが出来るので、手を動かして覚えたい時に良いかもしれません
3
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
uetchy
弱い言葉が好きです。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
3
Help us understand the problem. What is going on with this article?