備忘録_Python_Matplotlib

備忘録_Python_Matplotlib

Matplotlibtとは

グラフ描画のためのライブラリです。Matplotlibを使えば、グラフの描画やデータの可視化が簡単に行えます。

グラフの描画

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> # データの作成
... x = np.arange(0,6,0.1) # 0から6まで0.1刻みで生成
>>> y1 = np.sin(x)
>>> y2 = np.cos(x)
>>>
>>> #グラフの描画
... plt.plot(x,y1,label="sin")
[<matplotlib.lines.Line2D object at 0x0000019D2EACC080>]
>>> plt.plot(x, y2, linestyle ="--",label = "cos") # 破線で描画
[<matplotlib.lines.Line2D object at 0x0000019D2EACC630>]
>>> plt.xlabel("x") # x軸のラベル
Text(0.5,0,'x')
>>> plt.ylabel("y") # y軸のラベル
Text(0,0.5,'y')
>>> plt.title('sin & cos') #タイトル
Text(0.5,1,'sin & cos')
>>> plt.legend() # 凡例をグラフにプロット
<matplotlib.legend.Legend object at 0x0000019D2EACCA90>
>>> plt.legend() # 凡例をグラフにプロット
<matplotlib.legend.Legend object at 0x0000019D2EACCC50>
>>> plt.show() #グラフの表示
>>> x
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. , 1.1, 1.2,
       1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2. , 2.1, 2.2, 2.3, 2.4, 2.5,
       2.6, 2.7, 2.8, 2.9, 3. , 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8,
       3.9, 4. , 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5. , 5.1,
       5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9])
>>> y1
array([ 0.        ,  0.09983342,  0.19866933,  0.29552021,  0.38941834,
        0.47942554,  0.56464247,  0.64421769,  0.71735609,  0.78332691,
        0.84147098,  0.89120736,  0.93203909,  0.96355819,  0.98544973,
        0.99749499,  0.9995736 ,  0.99166481,  0.97384763,  0.94630009,
        0.90929743,  0.86320937,  0.8084964 ,  0.74570521,  0.67546318,
        0.59847214,  0.51550137,  0.42737988,  0.33498815,  0.23924933,
        0.14112001,  0.04158066, -0.05837414, -0.15774569, -0.2555411 ,
       -0.35078323, -0.44252044, -0.52983614, -0.61185789, -0.68776616,
       -0.7568025 , -0.81827711, -0.87157577, -0.91616594, -0.95160207,
       -0.97753012, -0.993691  , -0.99992326, -0.99616461, -0.98245261,
       -0.95892427, -0.92581468, -0.88345466, -0.83226744, -0.77276449,
       -0.70554033, -0.63126664, -0.55068554, -0.46460218, -0.37387666])
>>> y2
array([ 1.        ,  0.99500417,  0.98006658,  0.95533649,  0.92106099,
        0.87758256,  0.82533561,  0.76484219,  0.69670671,  0.62160997,
        0.54030231,  0.45359612,  0.36235775,  0.26749883,  0.16996714,
        0.0707372 , -0.02919952, -0.12884449, -0.22720209, -0.32328957,
       -0.41614684, -0.5048461 , -0.58850112, -0.66627602, -0.73739372,
       -0.80114362, -0.85688875, -0.90407214, -0.94222234, -0.97095817,
       -0.9899925 , -0.99913515, -0.99829478, -0.98747977, -0.96679819,
       -0.93645669, -0.89675842, -0.84810003, -0.79096771, -0.7259323 ,
       -0.65364362, -0.57482395, -0.49026082, -0.40079917, -0.30733287,
       -0.2107958 , -0.11215253, -0.01238866,  0.08749898,  0.18651237,
        0.28366219,  0.37797774,  0.46851667,  0.55437434,  0.63469288,
        0.70866977,  0.77556588,  0.83471278,  0.88551952,  0.92747843])

補足:三角関数(np.sin(), np.cos(), np.tan())

引数には、degree(度)ではなくradian(ラジアン)で指定する必要があります。

角度から三角関数|三角形の計算|計算サイト

画像の表示

>>> import matplotlib.pyplot as plt
>>> from matplotlib.image import imread
>>> img = imread('gravure_117_rika.jpg') #画像の読み込み
>>> plt.imshow(img) #画像表示
<matplotlib.image.AxesImage object at 0x0000026498398E10>
>>> plt.show()