LoginSignup
0
0

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

Last updated at Posted at 2019-07-17

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

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

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

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

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

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

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

docker

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

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

docker/ubuntu
# pip3 install matlab

図・ファイル出力版

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')
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')
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を含む)システムの課題、官(0)
https://qiita.com/kaizen_nagoya/items/04ee6eaf7ec13d3af4c3

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

自動制御、制御工学一覧(0)
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.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0