Pythonデータ分析の視覚化-記事で要約:matplotlib、Pandas、seaborn


Pythonのデータ視覚化ツールは、主にmatplotlib、pandas、seabornに依存しています。

1.データの視覚化にmatplotlibを使用する

1.1基本概念

  • キャンバス/ペインティングボード
  • 座標系/描画間隔
    ここに画像の説明を挿入

1.2コアステップ:絵を描くための3つのステップ

例として折れ線グラフを取り上げます

  1. 座標点の定義(データの準備)
  2. plot(x, y) グラフを描画します(デフォルトは折れ線グラフです)
  3. plt.show() グラフの表示
    注:プロット内のxとyは、いくつでも1対1で対応し、ペアで表示されます

1.3詳細な紹介:

注意合計を
指定しない場合、デフォルトで製図板とサブグラフ作成されます画板figure()子图subplotfigure(1)subplot(1,1,1)

1.キャンバスを作成します

キャンバスの作成+キャンバスサイズの設定plt.figure()
キャンバスサイズパラメータfigsize = (8, 6)渡して、キャンバスサイズを調整することもできます

2.座標系を確立します(描画領域を決定します)

いくつかの異なる方法があります:

2.1キャンバスのセグメンテーション+すべての座標系に戻る

plt.subplots()

メソッドの後続のパスaxes[x,y]は、座標系を示すためにプロットされます。

2.2キャンバスのセグメンテーション+指定された座標系の位置(戻る)

ax= fig.add_subplot()
plt.subplot2grid()
plt.subplot()

最初のメソッドはオブジェクトプログラミングに属し、後の3つは関数型プログラミングに属します

次の3つのコード例:

  • plt.subplot2grid()
plt.subplot2grid((2,2),(0,0)) 
plt.subplot2grid((2,2),(0,1)) 
plt.subplot2grid((2,2),(1,1)) 

座標によって座標系の位置を制御ます
ここに画像の説明を挿入

  • subplot()
plt.subplot(2,2,1)
plt.subplot(2,2,2)
plt.subplot(2,2,4)

デジタル位置座標の制御
ここに画像の説明を挿入
戦闘。

for i in range(len(crops)):  # crops 为 10 张堆叠的图片 , 大小:(10, 224, 224, 3)
    plt.subplot(2,5,i+1)   
    plt.imshow(crops[i, :, :, :])

結果:
ここに画像の説明を挿入

  • subplots()
plt.subplots(2,2)

すべての(2x2)座標系を返す
ここに画像の説明を挿入

3.座標軸を設定します

軸のタイトルを設定します

plt.xlabel("str")
plt.ylabel("str")
plt.title('str')

パラメータlabelpadは、タイトルを軸距離に設定することも
できます他の入力パラメータをstring設定することできます。

軸のスケールを設定します

スケール値を表示するスケールをカスタマイズする

plt.xticks(ticks,labels)
plt.yticks(ticks,labels)

ヒント:あなたは、X / Y軸の値を非表示にすることができます
ことにより、データのセキュリティを確保するために、空のリストを渡します

plt.xticks([])
plt.yticks([])

座標軸の範囲を設定します

plt.xlim()
plt.ylim()

開始点と終了点をパラメータとして直接渡すだけです。

または、より簡単な方法を使用します。
axis[xmin, xmax, ymin, ymax]たとえば、

plt.axis([0, 6, 0, 20])

ここでの入力はリストの形式ですが、データの処理を容易にするために、実際には内部でnumpy配列形式に変換されることに注意してください。

その他の設定

-軸表示をオフにします。plt.axis('off')

-グリッド線を開くplt.grid(b = 'True')
渡すこともできます。axis参数指定した軸のみを開くように指定します

-伝説
上の着信ラベルパラメータのような、その後、表示されました...plt.plot()label = ‘str’
plt.legend()

5.チャートを描く

-Lineチャート:plt.plot(x,y)
-Histogram:plt.bar(x,y)
-scatterチャート:-Heatplt.scatter(x,y)
マップ:plt.imshow(x,cmap)
...

  • 2Dダイアグラムの描画に使用されるオプションのパラメーター:
    ここに画像の説明を挿入ここに画像の説明を挿入

6.アイコン表示

plt.show()

1.4よくある質問

  • 画像が表示されない問題を解決することです
%matplotlib inline
  • 中国語の文字化けを解決する
plt.rcParams['font.sans-serif']='SimHei'

1.5最小限のコード実装

import numpy as np
import matplotlib.pyplot as plt

座標系

前述のように、一部の操作は省略できます

x = np.linspace(1, 20, 100)

y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1)
plt.plot(x, y2)

ここに画像の説明を挿入

複数の座標系

x = np.linspace(1, 20, 100)

y1 = np.sin(x)
y2 = np.cos(x)
plt.subplot(2,2,1)
plt.plot(x, y1)
plt.subplot(2,2,4)
plt.plot(x, y2)

ここに画像の説明を挿入

2.データの視覚化にパンダを使用する

Pandas図面はmatplotlib
基本的な構文で作成されパッケージです。
df.plot(x='列名1', y='列名2', kind='图形类型', label=‘图例名称’)

折れ線グラフ

from numpy.random import randn
np.random.seed(1)

df = pd.DataFrame(np.random.randn(20,3),index=np.linspace(0,19,20), columns=list('ABC'))

df.plot()

棒グラフ

from numpy.random import randn
np.random.seed(1)

df = pd.DataFrame(np.random.randn(5,3)+10,index=np.linspace(0,4,5), columns=list('ABC'))

df.plot.bar()

ヒストグラム

from numpy.random import randn
np.random.seed(1)

df = pd.DataFrame({
    
    'A':np.random.randn(100),'B':np.random.randn(100)+1,'C':np.random.randn(100)+2})

df.hist(bins=20)

箱ひげ図

from numpy.random import randn
np.random.seed(1)

df = pd.DataFrame(np.random.rand(10, 5), columns=['A', 'B', 'C', 'D', 'E'])
df.plot.box()

散布図

from numpy.random import randn
np.random.seed(1)

df = pd.DataFrame(np.random.rand(50, 4), columns=['a', 'b', 'c', 'd'])
df.plot.scatter(x='a', y='b')

円グラフ

from numpy.random import randn
np.random.seed(1)

df = pd.DataFrame(3 * np.random.rand(4), index=['a', 'b', 'c', 'd'], columns=['x'])
df.plot.pie(subplots=True)

3.データの視覚化にseabornを使用する

Seabornをデータの視覚化に使用する

総括する

  • 1次元グラフ:(
    直接意味がない)1次元データ
    ボックスプロット
  • 二次元グラフ
    散布、折れ線グラフ、ヒストグラム、棒グラフ
  • 三次元図:
    バブル図

続く〜

添付ファイル:ビジュアルグラフィックの選択

Visual Basics:ビジュアルグラフィックスの選択方法

おすすめ

転載: blog.csdn.net/Robin_Pi/article/details/103836361