Plotly-scatter-scattergl-plot-and-bubble-charts

提供:Dev Guides
移動先:案内検索

散布図、散布図、およびバブルチャート

この章では、散布図、散布図、およびバブルチャートについて詳しく説明します。 まず、散布図について検討してみましょう。

散布図

散布図は、ある変数が別の変数にどのように影響するかを示すために、横軸と縦軸に*データ*ポイントをプロットするために使用されます。 データテーブルの各行は、マーカーによって表されます。マーカーの位置は、 X および Y 軸に設定された列の値に依存します。

graph_objsモジュールの* scatter()メソッド(go.Scatter)は、分散トレースを生成します。 ここで、 *mode プロパティはデータポイントの外観を決定します。 モードのデフォルト値は、データポイントを接続する連続した線を表示する線です。 markers に設定すると、小さな塗りつぶされた円で表されるデータポイントのみが表示されます。 モードに「ライン+マーカー」を割り当てると、円と線の両方が表示されます。

次の例では、デカルト座標系でランダムに生成された3セットの点の散布図をプロットします。 異なるモードプロパティで表示される各トレースについて、以下で説明します。

import numpy as np
N = 100
x_vals = np.linspace(0, 1, N)
y1 = np.random.randn(N) + 5
y2 = np.random.randn(N)
y3 = np.random.randn(N) - 5
trace0 = go.Scatter(
   x = x_vals,
   y = y1,
   mode = 'markers',
   name = 'markers'
)
trace1 = go.Scatter(
   x = x_vals,
   y = y2,
   mode = 'lines+markers',
   name = 'line+markers'
)
trace2 = go.Scatter(
   x = x_vals,
   y = y3,
   mode = 'lines',
   name = 'line'
)
data = [trace0, trace1, trace2]
fig = go.Figure(data = data)
iplot(fig)
  • ジュピターノートブックセル*の出力は以下のとおりです-

Jupyterノートブックセル

散布図

*WebGL* (Web Graphics Library)は、プラグインを使用せずに、互換性のあるWebブラウザー内でインタラクティブな *2D* および* 3Dグラフィックス*をレンダリングするためのJavaScript APIです。 WebGLは他のWeb標準と完全に統合されており、グラフィックスプロセッシングユニット(GPU)が画像処理の使用を加速します。

Plotlyでは、Scatter()の代わりに* Scattergl()*を使用してWebGLを実装し、速度を向上させ、対話性を向上させ、さらに多くのデータをプロットすることができます。 * go.scattergl()*関数。これは、多数のデータポイントが関係する場合にパフォーマンスを向上させます。

import numpy as np
N = 100000
x = np.random.randn(N)
y = np.random.randn(N)
   trace0 = go.Scattergl(
   x = x, y = y, mode = 'markers'
)
data = [trace0]
layout = go.Layout(title = "scattergl plot ")
fig = go.Figure(data = data, layout = layout)
iplot(fig)

出力は以下に記載されています-

Scatterglプロット

バブルチャート

バブルチャートには、3つの次元のデータが表示されます。 関連付けられたデータの3つの次元を持つ各エンティティは、ディスクの* xy位置*を介して2つの次元を表し、サイズを介して3番目を表す disk (バブル)としてプロットされます。 バブルのサイズは、3番目のデータシリーズの値によって決まります。

  • バブルチャート*は、データポイントがバブルに置き換えられた散布図のバリエーションです。 以下に示すようにデータに3つのディメンションがある場合、バブルチャートを作成することをお勧めします。
Company Products Sale Share
A 13 2354 23
B 6 5423 47
C 23 2451 30

バブルチャートは* go.Scatter()トレースで生成されます。 上記のデータ系列の2つは、xプロパティとyプロパティとして指定されます。 3番目の次元はマーカーで示され、そのサイズは3番目のデータ系列を表します。 上記の場合、 *products および salex および y プロパティとして使用し、 market share を*マーカーサイズ*として使用します。

Jupyterノートブックに次のコードを入力します。

company = ['A','B','C']
products = [13,6,23]
sale = [2354,5423,4251]
share = [23,47,30]
fig = go.Figure(data = [go.Scatter(
   x = products, y = sale,
   text = [
      'company:'+c+' share:'+str(s)+'%'
      for c in company for s in share if company.index(c)==share.index(s)
   ],
   mode = 'markers',
   marker_size = share, marker_color = ['blue','red','yellow'])
])
iplot(fig)

出力は以下のようになります-

バブルチャート