sin 描画: docker(92)  プログラムちょい替え(6) pyhon(39) 

matplotlibでのプロットの基本
https://qiita.com/KntKnk0328/items/5ef40d9e77308dd0d0a4

```python:sin4.py
#! /usr/bin/env python
#codeing:utf-8
# https://qiita.com/KntKnk0328/items/5ef40d9e77308dd0d0a4
# https://qiita.com/kaizen_nagoya/items/2702bdf0b89b3d841921

import matplotlib.pyplot as plt
import numpy as np

# データ生成
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# プロット領域(Figure, Axes)の初期化
fig = plt.figure(figsize=(12, 8))
ax1 = fig.add_subplot(131)
ax2 = fig.add_subplot(132)
ax3 = fig.add_subplot(133)

# 棒グラフの作成
ax1.bar([1,2,3],[3,4,5])
ax2.barh([0.5,1,2.5],[0,1,2])
ax3.scatter(y1, y2)

# 水平線、垂直線を入れる
ax3.axhline(0.45)
ax3.axvline(0.65)

plt.show()
```

![sinpy.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51423/d805132f-59a0-8c8a-f01b-a39f49af8151.png)

ここから出発して、sinを書くプログラムへ。
まず、左の２つの図と、y2変数を削る。

```python:sin3.py
#! /usr/bin/env python
#codeing:utf-8
# https://qiita.com/KntKnk0328/items/5ef40d9e77308dd0d0a4
# https://qiita.com/kaizen_nagoya/items/2702bdf0b89b3d841921

import matplotlib.pyplot as plt
import numpy as np

# データ生成
x = np.linspace(0, 10, 100)
y1 = np.sin(x)

# プロット領域(Figure, Axes)の初期化
fig = plt.figure(figsize=(12, 8))
ax3 = fig.add_subplot(133)

# 棒グラフの作成
ax3.scatter(y1, x)

# 水平線、垂直線を入れる
ax3.axhline(0.45)
ax3.axvline(0.65)

plt.show()
```

![sin.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51423/226d951e-89ef-79bf-2d0b-848e0f222721.png)

sinの図にはなった。横向きだし、線が希望の位置じゃない。

```python:sin2.py
#! /usr/bin/env python
#codeing:utf-8
# https://qiita.com/KntKnk0328/items/5ef40d9e77308dd0d0a4
# https://qiita.com/kaizen_nagoya/items/2702bdf0b89b3d841921

import matplotlib.pyplot as plt
import numpy as np

# データ生成
x = np.linspace(0, 10, 100)
y = np.sin(x)

# プロット領域(Figure, Axes)の初期化
fig = plt.figure(figsize=(12, 8))
ax = fig.add_subplot(133)

# 棒グラフの作成
ax.scatter( x, y)

# 水平線、垂直線を入れる
ax.axvline(0)

plt.show()
```

![sin2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51423/5dc30812-67d7-242a-b20e-70f3bdd5a727.png)

横にはなった。線は横の０。
また、x軸の値は0から3.2 

# docker

```shell-session:macOS
$ docker run -v /tmp/docker:/tmp/docker -it kaizenjapan/python23sin /bin/bash
```
-v /tmp/docker:/tmep/dockerは、dockerを起動するシステムに/tmp/dockerというフォルダが利用可能な場合に記載。フォルダ名は、利用できるもので、docker側が空のものであればよい。

docker(89) dockerでpython2, python3
https://qiita.com/kaizen_nagoya/items/ecbe11a4d743357134d5

上記に下記ライブラリを導入した。

```shell-session:docker/ubuntu
# pip3 install matlab
```

## 図・ファイル出力版

```python:sin2d.py
#! /usr/bin/env python
#codeing:utf-8
# https://qiita.com/KntKnk0328/items/5ef40d9e77308dd0d0a4
# https://qiita.com/kaizen_nagoya/items/2702bdf0b89b3d841921

import matplotlib as mpl
mpl.use('Agg')

import matplotlib.pyplot as plt
import numpy as np

# データ生成
x = np.linspace(0, 10, 100)
y = np.sin(x)

# プロット領域(Figure, Axes)の初期化
fig = plt.figure(figsize=(12, 8))
ax = fig.add_subplot(133)

# 棒グラフの作成
ax.scatter( x, y)

# 水平線、垂直線を入れる
ax.axvline(0)

#fig = plt.figure()
#plt.show()
fig.savefig('sin2.png')
```


```python:sin3d.py
#! /usr/bin/env python
#codeing:utf-8
# https://qiita.com/KntKnk0328/items/5ef40d9e77308dd0d0a4
# https://qiita.com/kaizen_nagoya/items/2702bdf0b89b3d841921

import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
mpl.use('Agg')

# データ生成
x = np.linspace(0, 10, 100)
y = np.sin(x)

# プロット領域(Figure, Axes)の初期化
fig = plt.figure(figsize=(12, 8))
ax = fig.add_subplot(133)

# 棒グラフの作成
ax.scatter( x, y)

# 水平線、垂直線を入れる
ax.axvline(0)

#plt.show()
fig.savefig('sin3.png')
```

```python:sin4d.py
#! /usr/bin/env python
#codeing:utf-8
# https://qiita.com/KntKnk0328/items/5ef40d9e77308dd0d0a4
# https://qiita.com/kaizen_nagoya/items/2702bdf0b89b3d841921

import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
mpl.use('Agg')

# データ生成
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# プロット領域(Figure, Axes)の初期化
fig = plt.figure(figsize=(12, 8))
ax1 = fig.add_subplot(131)
ax2 = fig.add_subplot(132)
ax3 = fig.add_subplot(133)

# 棒グラフの作成
ax1.bar([1,2,3],[3,4,5])
ax2.barh([0.5,1,2.5],[0,1,2])
ax3.scatter(y1, y2)

# 水平線、垂直線を入れる
ax3.axhline(0.45)
ax3.axvline(0.65)

#plt.show()
fig.savefig('sin4.png')
```
## エラー類

今日のpython error: ModuleNotFoundError: No module named
https://qiita.com/kaizen_nagoya/items/192ad889f74c589d76d7

今日のpip error: Building wheel for subprocess32 (setup.py) ... error
https://qiita.com/kaizen_nagoya/items/f1665b45955118934ee9

今日のpython エラー:画像が真っ白
https://qiita.com/kaizen_nagoya/items/9ef578e44d9fce34a361

# 参考資料(reference)
dockerで機械学習(1) with anaconda(1)「ゼロから作るDeep Learning - Pythonで学ぶディープ
https://qiita.com/kaizen_nagoya/items/a7e94ef6dca128d035ab

# Reference
Ethernet 記事一覧　Ethernet(0)
https://qiita.com/kaizen_nagoya/items/88d35e99f74aefc98794

Wireshark 一覧 wireshark(0)、Ethernet(48) 
https://qiita.com/kaizen_nagoya/items/fbed841f61875c4731d0

線網（Wi-Fi）空中線(antenna)(0) 記事一覧(118/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001

C++ Support(0)　
https://qiita.com/kaizen_nagoya/items/8720d26f762369a80514

Coding Rules(0) C Secure , MISRA and so on
https://qiita.com/kaizen_nagoya/items/400725644a8a0e90fbb0

Autosar Guidelines C++14 example code compile list(1-169)
https://qiita.com/kaizen_nagoya/items/8ccbf6675c3494d57a76

Error一覧(C/C++, python, bash...) Error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8

なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2

言語処理100本ノックをdockerで。python覚えるのに最適。:10+12
https://qiita.com/kaizen_nagoya/items/7e7eb7c543e0c18438c4

プログラムちょい替え（0）一覧:4件
https://qiita.com/kaizen_nagoya/items/296d87ef4bfd516bc394

一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39

官公庁・学校・公的団体（NPOを含む）システムの課題、官（０）
https://qiita.com/kaizen_nagoya/items/04ee6eaf7ec13d3af4c3

プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

自動制御、制御工学一覧（０）
https://qiita.com/kaizen_nagoya/items/7767a4e19a6ae1479e6b

Rust(0) 一覧　
https://qiita.com/kaizen_nagoya/items/5e8bb080ba6ca0281927

小川清最終講義、最終講義（再）計画, Ethernet(100) 英語(100) 安全(100)
https://qiita.com/kaizen_nagoya/items/e2df642e3951e35e6a53

＜この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。＞
### 文書履歴(document history)
ver. 0.01 初稿 20190717
ver. 0.02 docker 20191231
### 最後までおよみいただきありがとうございました。
いいね　💚、フォローをお願いします。
#### Thank you very much for reading to the last sentence.
Please press the like icon 💚　and follow me for your happy life.