matplotlibをインストールしてJupyter Notebookでグラフ表示

#Jupyter Notebookでデータをわかりやすく見たい
TensorFlowの学習をしていて、APIを調べていたのですが、「やはりグラフで見ることができれば便利」と思って、matplotlibを使ってみました。
インストール方法と、簡単な使い方メモです。

以下は、現在の環境であったり、TensorFlow関連記事のリンクです。
> - [TensorFlowをWindowsにインストール Python初心者でも簡単だった件](http://qiita.com/FukuharaYohei/items/d8f82c827e0bae70096a)
> - [【入門者向け解説】TensorFlow基本構文とコンセプト](http://qiita.com/FukuharaYohei/items/0825c3518d8596c09396)
> - [【入門者向け解説】TensorFlowチュートリアルMNIST(初心者向け)](http://qiita.com/FukuharaYohei/items/10b89275efda2a22e9c5)
> - [TensorFlowチュートリアルMNIST(初心者向け)をTensorBoardで見える化](http://qiita.com/FukuharaYohei/items/2834cc054a8b8884e150)
> - [TensorFlow APIメモ](http://qiita.com/FukuharaYohei/items/f9bb9a0afd47be9ecef8)
> - [【TensorBoard入門】TensorFlow処理を見える化して理解を深める](http://qiita.com/FukuharaYohei/items/7ea120005f73cf882146)

#Anacondaからpipでmatplotlibインストール
####1. Anaconda Navigatorからターミナル起動
WindowsメニューからAnaconda Navigatorを起動します。メニューでEnvironmentを選択し、仮想環境を選んで「Open Terminal」でターミナルを起動します。
![10.open_terminal_via_anaconda.JPG](https://qiita-image-store.s3.amazonaws.com/0/134273/b5a02bfc-122d-60f2-3686-80b121b94060.jpeg)

####2. pipでmatplotlibインストール
pipでインストールするだけです。

```none
pip install matplotlib
```

![20.install_matplotlib.JPG](https://qiita-image-store.s3.amazonaws.com/0/134273/ee41241b-fdf9-e086-8605-a1f7a6a4be4e.jpeg)

#matplotlibを試してみる
[Wikipedia](https://ja.wikipedia.org/wiki/Matplotlib)の内容をそのまま試してみます。

##折れ線グラフ

```py3
import matplotlib.pyplot as plt
import numpy as np
a = np.linspace(0,10,100)
b = np.exp(-a)
plt.plot(a,b)
plt.show()
```
![30.matplotlib01.JPG](https://qiita-image-store.s3.amazonaws.com/0/134273/d8ffe90a-f8df-5f8c-6d56-15ef5362f085.jpeg)

##ヒストグラム

```py3
import matplotlib.pyplot as plt
from numpy.random import normal,rand
x = normal(size=200)
plt.hist(x,bins=30)
plt.show()
```
![30.matplotlib02.JPG](https://qiita-image-store.s3.amazonaws.com/0/134273/fe393d12-3ea5-295f-d444-a1af369680ec.jpeg)

##散布図

```py3
import matplotlib.pyplot as plt
from numpy.random import rand
a = rand(100)
b = rand(100)
plt.scatter(a,b)
plt.show()
```

![30.matplotlib03.JPG](https://qiita-image-store.s3.amazonaws.com/0/134273/f502fbbf-03e5-8596-3572-ac56bbc14d0d.jpeg)

##3Dグラフ
すごいね・・・

```py3
from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.gca(projection='3d')
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm)
plt.show()
```

![30.matplotlib04.JPG](https://qiita-image-store.s3.amazonaws.com/0/134273/56b9aebd-96a5-d139-019e-399ead2a2053.jpeg)

##TensorFlowのAPIを確認
もともとのmatplotlib使用動機はTensorFlowのAPI確認でした。おまけではありますが、こんな感じでTensorFlowのAPI truncated_normalの機能を確認しています。

```py3
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt

sess = tf.InteractiveSession()
sess.run(tf.global_variables_initializer())
x = sess.run(tf.truncated_normal([30000], stddev=0.1))
fig = plt.figure()
ax = fig.add_subplot(1,1,1)

ax.hist(x, bins=100)
ax.set_title('Histogram tf.truncated_normal')
ax.set_xlabel('x')
ax.set_ylabel('y')
plt.show()
```

![30.matplotlib05.JPG](https://qiita-image-store.s3.amazonaws.com/0/134273/31c52dab-b1da-6d5c-a209-afb1b69e791d.jpeg)