🏠
🌡 📆 什和6幎4月28日

matplotlib


プログラミング蚀語

è¡š   1 プログラミング蚀語の皮類
皮類 分類 蚀語 特城
むンタプリタ Webアプリ JavaScript Webブラりザ䞊で動䜜クラむアントサむド
vb script(vbs,vba,asp) 1 )
AI Webアプリ python  パむ゜ン  2 ) * デヌタサむ゚ンス * 、 マテリアルズむンフォマティクス *、
教育 Scratch ビゞュアルプログラミング
コンパむル OS C 3 ) ポむンタ、構造䜓
汎甚 VB.NET オブゞェクト指向倚重継承なし
汎甚 Kotlin アンドロむドアプリ向け
OS C++ オブゞェクト指向
colab jupyter

ファむルベヌスのシステムでは、コンパむラ蚀語は実行可胜なファむルを生成し、 むンタプリタ蚀語はそれを生成しないずいう違いがありたした。 しかし、クラりドベヌスになっお、実行ファむルそのものをクラむアントにダりンロヌドしなくなり、 ゞャストむンコンパむルで実行結果だけを利甚するようになるず コンパむラ蚀語ずむンタプリタ蚀語の違いは、あたり本質的でなくなりたした。

科孊技術甚の䌝統的な蚀語ずしおは、FORTRANがありたす。 FORTRAN系列の蚀語ずしおは、BASIC、pythonがありたす。 統蚈甚蚀語ずしおRがありたす。

アルゎリズム重芖の䌝統的な蚀語ずしおALGOLがありたす。 ALGOLは、Pascal, C, C++, C#,java, javascript, typescript, Kotlinず進化しおきたした。 juliaはCに迫る蚈算速床を誇りたす。

サヌバヌサむドで䜿われおきたPerlや Ruby もクラりドで利甚できるようになっおきたした。

人工知胜で䌝統的な蚀語Lispは、F#、 Schemeもクラりドで利甚できるようになっおきたした。

人気 プログラミング蚀語 は、java script、そしおpython*ず続きたす。 *


pythonパむ゜ン

è¡š   2 python
応甚䟋
Django
cgi
静的png

色の名前

è¡š   3 色の名前
分類 名称 泚釈 色
🏞 👚‍🏫 動物 ベヌゞュ 駱駝
セピア むカ墚
🏞 👚‍🏫 怍物 ピンク石竹 撫子に䌌た花 pink #FFC0CB
垞磐 杉、束などの垞緑の葉 #00664d #006428 forestgreen ロゎの色
👚‍🏫 緑 草朚の新芜、初倏の若葉 green ,#00FF00
鉱物 煀炭玠 煀を顔料ずし、膠をバむンダヌずしお固めた文房具を墚ずいい、 墚を氎に分散した分散液を墚汁ず蚀いたす。 玙に墚汁で曞かれた曞は、玙に顔料が染み蟌んでしたうので、 デゞタル情報ずちがっお改竄が難しいです。
朱 🧪 🏞 硫化氎銀、蟰砂、䞹 #e94709 #EF454A
物理珟象

👚‍🏫 赀明るいred,#FF0000

青青いblue,#00FFFF 緑も青ず蚀った。青信号は本来緑。

黒暗い

黄 虹色䞃色のひず぀ 圢容詞にできたす。 黄色いに加えおピンクいなどの圢容詞掻甚も。
金属の衚面反射 銀色 銀色は金属の反射の状態です。
氎色 氎色は氎の反射ず屈折の状態です。

色の名前は、 材料の名前に由来するこずが倚いです。

htmlのstyleやcssでは、colorやbackground-colorに色名が䜿甚可胜。

python matplotlibでは、 r g b w m y c k は䞀文字の 名前で指定可胜。


TeXずMathML

è¡š   4 TeXずMathML
項目 html MathML TeX ASCIIMath
倉数 x x $$x$$
量 R R $$R$$
量 Cs C s $$C_\mathrm{s}$$ 量名では、䞋付き文字は、立䜓文字ロヌマン䜓を䜿いたす。 MathMLでは、mathvariant属性に"normal"を指定したす。 TeXでは、\(C_\mathrm{s}\)ずするのに、_\mathrm{s}などず衚珟したす。
化孊匏 CO2 C O 2 $$\mathrm{CO}_2$$
ギリシャ文字 α,Ω * $$\Omega,\vartheta$$ * python の matplotlibなどでギリシャ文字を \u03b8や \N{greek small letter theta} のように 別文字列 ** を䜿いたす。

パレヌト図

図   1 パレヌト図
DMAIC

パレヌト図は、 デヌタを改善すべき項目別に分類し、出珟頻床の倧きさの順に項目を䞊べるこずにより、  

4 )

セルの電気抵抗ず電解液の抵抗率

図   2 セルの電気抵抗ず電解液の抵抗率
©2023 K.Tachibana, C1
5 )

回垰

図   3 回垰

回垰

図   4 回垰

先日䜜成した https://a.yamagata-u.ac.jp/py/regression.py はCGIでpythonがうごいおたすのでリク゚ストが 来るたびにpythonが起動したすリ゜ヌスを消費するので CGIではなくDjnagoみたいなフレヌムワヌクを぀かう 方向のようですpythonのcgiパッケヌゞは ver3.11(珟行版)で非掚奚ver3.13で削陀ずのこず 珟圚の蚭定だずDjangoは16プロセスたで起動されたす Edgeで https://a.yamagata-u.ac.jp/dj/regression/ を衚瀺させF5を連打しおみおください30回ずか 添付の図みたいなのが出るず思いたす うたい曞き方があるんだろうなずは思いたす (IISの再起動が必芁かもしれたせん) たあCGIで連打されるずサヌバヌが萜ちるず思うので どっちもどっちだず思いたすが


回垰分析

図   5 回垰分析
©K.Tachibana

è¡š   5 プログラミング蚀語の皮類
皮類 分類 蚀語 特城
むンタプリタ Webアプリ JavaScript Webブラりザ䞊で動䜜クラむアントサむド
vb script(vbs,vba,asp) 6 )
AI Webアプリ python  パむ゜ン  7 ) * デヌタサむ゚ンス * 、 マテリアルズむンフォマティクス *、
教育 Scratch ビゞュアルプログラミング
コンパむル OS C 8 ) ポむンタ、構造䜓
汎甚 VB.NET オブゞェクト指向倚重継承なし
汎甚 Kotlin アンドロむドアプリ向け
OS C++ オブゞェクト指向
colab jupyter

ファむルベヌスのシステムでは、コンパむラ蚀語は実行可胜なファむルを生成し、 むンタプリタ蚀語はそれを生成しないずいう違いがありたした。 しかし、クラりドベヌスになっお、実行ファむルそのものをクラむアントにダりンロヌドしなくなり、 ゞャストむンコンパむルで実行結果だけを利甚するようになるず コンパむラ蚀語ずむンタプリタ蚀語の違いは、あたり本質的でなくなりたした。

科孊技術甚の䌝統的な蚀語ずしおは、FORTRANがありたす。 FORTRAN系列の蚀語ずしおは、BASIC、pythonがありたす。 統蚈甚蚀語ずしおRがありたす。

アルゎリズム重芖の䌝統的な蚀語ずしおALGOLがありたす。 ALGOLは、Pascal, C, C++, C#,java, javascript, typescript, Kotlinず進化しおきたした。 juliaはCに迫る蚈算速床を誇りたす。

サヌバヌサむドで䜿われおきたPerlや Ruby もクラりドで利甚できるようになっおきたした。

人工知胜で䌝統的な蚀語Lispは、F#、 Schemeもクラりドで利甚できるようになっおきたした。

人気 プログラミング蚀語 は、java script、そしおpython*ず続きたす。 *


colabの抂芁

colab は、googleのpythonプラットフォヌムです。


pythonパむ゜ン

è¡š   6 python 蚀語の䜿い方
応甚䟋
無䜜為抜出
extracted = random.sample(data, 10)
平均
average = statistics.mean(data)
average = np.mean(data)
暙準偏差
std = statistics.stdev(data)
std = np.std(data)
std = np.std(data, ddof=1) # 暙本暙準偏差
散垃図 *
import numpy as np
import matplotlib.pyplot as plt
 
# 乱数を生成
x = np.random.rand(100)
y = np.random.rand(100)
 
# 散垃図を描画
plt.scatter(x, y)
ヒストグラム
import matplotlib.pyplot as plt
ax1 = fig.add_subplot(211)
ax1.hist(x1, bins=bins)
画像 (matplotlib) の䟋

ずもひろおすず

可読性重芖の科孊蚈算向け。 9 ) 10 )

Phthon (パむ゜ンは、倚様なデヌタ構造が組み蟌たれおいるので、デヌタ凊理しやすい 蚀語です。 Anacondaアナコンダや、 Google Colaboratoy などの開発環境がありたす。 Phthonには、数倀蚈算ラむブラリNumPyがありたす。 NumPyは、CやふFORTRANで、実装されおいお、高速で実行できたす。 ほかにも、Matplotlib(グラフ描画ラむブラリ pandas(デヌタ分析ラむブラリ TensorFlow(機械孊習ラむブラリ OpenCV画像凊理ラむブラリ など䟿利なラむブラリが倚数ありたす。

pymatgenラむブラリは、ただあたり普及しおいない。 *

Webアプリ を曞くには、 django プラットフォヌムがあったほうがいいかも。


Matplotlib

図   6 母平均の有意差怜定 t 怜定
python (colab)→ png→ svg→ html

Matplotlibでは、 色や 数匏の衚珟も豊富です。


パむ゜ンで描いたコヌルコヌルプロット

図   7 コヌルコヌルプロットナむキストプロット
©K. Tachibana

python では、耇玠数が䜿えるので、短いプログラムでコヌルコヌルプロットのシミュレヌションができたす。

# ■■■ コヌルコヌルプロット
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as patches
import cmath
import math
from google.colab import files

R= 2000
C = 0.1e-6
Rs = 500

t = np.arange(start = 0, stop = 5, step = 0.05)
f = [pow(10,p) for p in t]
z = [1/(1/R+1j*2*np.pi*p*C) + Rs for p in f]
x = [ p.conjugate().real for p in z]
y = [ p.conjugate().imag for p in z]
r = [ abs(p.conjugate()) for p in z]
ph = [ cmath.phase(p.conjugate())/math.pi*180 for p in z]
#ph = [ math.atan2(p.imag, p.real) for p in z]

ax = plt.subplot2grid((2, 2), (0, 0), rowspan=2)
ax.set_aspect('equal')
ax.set_xlabel("$Z^{\prime}$ / $\Omega$")
ax.set_ylabel("$-Z^{\prime \prime}$ / $\Omega$")
plt.scatter(x, y,alpha=0)
x_min, x_max = ax.get_xlim()
y_min, y_max = ax.get_ylim()
ax.set_xlim(0, x_max)
ax.set_ylim(0, y_max)

for t in np.arange(start = 500, stop = 2000, step = 500):
  ax.add_patch(patches.Circle(xy=(0, 0), radius=t, fc='none', ec='#B0FFFF'))

for t in np.arange(start = 1, stop = 12, step = 1):
  ax.axline((0, 0), slope=math.tan(math.pi*t/24), color='#B0FFFF')

plt.plot(x, y)

ax = plt.subplot2grid((2, 2), (0, 1))
ax.set_xlabel("$f$ / Hz")
ax.set_ylabel("$|Z|$ / $\Omega$")
plt.xscale('log')
plt.plot(f, r)

ax=plt.subplot2grid((2, 2), (1, 1))
ax.set_xlabel("$f$ / Hz")
ax.set_ylabel("$\u03b8$ / deg") # \theta では衚瀺できない
plt.xscale('log')
plt.plot(f, ph)

plt.savefig('fig_cole_cole_python.SVG');files.download("fig_cole_cole_python.SVG")
plt.savefig('fig_cole_cole_python.PNG');files.download("fig_cole_cole_python.PNG")

# ■■■ コヌルコヌルプロット

2dグラフィクス

è¡š   7 2dグラフィクス
蚀語 圢匏
java script canvas png むンタラクティブ、 アニメヌションが可胜。 Webアプリ向け。 3次ベゞェ曲線 実装。
svg svg htmlに埋め蟌み可胜。 ベクトルグラフィックスに関する機胜が豊富。 3次ベゞェ曲線 実装。 viewBox=を蚭定するこずで、ワヌルド座暙系でグラフィクス可胜。 䞀旊、svgファむルにしおpptにむンポヌトすれば、pngに倉換可胜。 asp(Basic、サヌバヌサむド)で蚘述するこずも可胜。
python matplotlib png

ワヌルド座暙系でグラフィクス可胜。ビュヌ座暙系 / スクリヌン座暙系ぞの煩わしい倉換から解攟されたす。 ベゞェ曲線ずか、コヌディングが必芁かも。 瞊軞、暪軞にTeXが䜿えるので超䟿利。

svg matplotlibから svgに出力するには、
plt.savefig('fig1.SVG')
files.download("fig1.SVG")
plt.show()
のようにする。 *
PIL png Colaboからでは、img.show()ではなく、IPython.display のdisplay(img)を䜿うなど、ちょっず倉則的。
OpenCV png グラフィックスずいうより画像凊理向け。 Colaboからは、 matplotlib を䜿った出力になるので、ベクトルグラフィックスならば、matplotlib.patchesを䜿うのずあたり倉わらないかも。


QRコヌド
https://edu.yz.yamagata-u.ac.jp/Public/52210/languages/python/matplotlib.asp
名称 教育甚公開りェブサヌビス
URL 🔗 https://edu.yz.yamagata-u.ac.jp/
管理運甚  山圢倧孊 孊術情報基盀センタヌ

🎄🎂🌃🕯🎉
名称 サむバヌキャンパス「鷹山」
URL: 🔗 http://amenity.yz.yamagata-u.ac.jp/
管理運甚  山圢倧孊 デヌタベヌスアメニティ研究䌚
〒992-8510 山圢県米沢垂城南4䞁目3-16

Copyright ©1996- 2024 Databese Amenity Laboratory of Virtual Research Institute,  Yamagata University All Rights Reserved.