見出し画像

Advanced Data Analysis(旧Code Interpreter)で描ける14種類のグラフの紹介

ChatGPTの公式プラグインであるCode Interpreterを使えば、様々なグラフを描くことができます。
そこで今回は、Code Interpreterで描くことができる14種類のグラフについて紹介します。



Code Interpreterで描けるグラフ

Code Interpreterは、Pythonとmatplotlibを使用することによって、以下の14種類のグラフを描くことができます。

  1. 折れ線グラフ(Line Plot)

  2. 棒グラフ(Bar Chart)

  3. ヒストグラム(Histogram)

  4. 散布図(Scatter Plot)

  5. 円グラフ(Pie Chart)

  6. 箱ひげ図(Box plot)

  7. ヒートマップ(Heatmap)

  8. 面積グラフ(Area Plot)

  9. ステムプロット(Stem Plot)

  10. 3Dプロット(3D Plot)

  11. レーダーチャート(Radar Chart)

  12. ヴァイオリンプロット(Violin Plot)

  13. 等高線プロット(Contour Plot)

  14. グリッドプロット(Grid Plot)

これらのグラフは、Pythonの基本的なライブラリであるMatplotlibを使用して描画することができます。
一方、Seaborn, Networkx, Wordcloudなどの特定の視覚化ライブラリが必要なペアプロット、サンキーダイアグラム、ツリーマップなどのグラフタイプは、現在のCode Interpreterの環境では利用できません。


1.折れ線グラフ(Line Plot)

最初に、折れ線グラフを描いてみます。

折れ線グラフ

こちらが折れ線グラフ(Line Plot)です。
上記の例では、x軸に0から2πまでの値を等間隔に配置し、y軸にそれぞれのxの値に対するsin(x)の値をプロットしています。

ここで、グラフが動いていくGIF動画を作成してみます。
ChatGPTとのやり取りは以下のとおりです。

入力 サインカーブが横に流れるGIF動画を作成してください。
ChatGPT
 もちろんです、そのGIFを作成します。まず、GIFの詳細について質問させてください。
GIFの解像度はどれくらいにしますか?(例:500x500ピクセル)
サインカーブの周期はどのくらいにしますか?(例:1周期が画面幅)
GIFの持続時間はどれくらいにしますか?(例:5秒)
GIFのフレームレートはどのくらいにしますか?(例:30fps)
これらのパラメータに応じて、GIFの作成を開始します。

入力 お任せします
ChatGPT
Finished working Show work

GIF動画の作成が完了しました。以下のリンクからダウンロードできます。
sine_wave.gifをダウンロード

ChatGPTとのやり取り
サインカーブが流れるGIF動画

次に、2本のサインカーブが反対方向に流れていくGIF動画を作成します。

2本のサインカーブが反対方向に流れていくGIF動画を作成してください。
2本のサインカーブが反対方向に流れていくGIF動画

2.棒グラフ(Bar Chart)

次に、棒グラフを描いてみましょう。

棒グラフ

こちらが棒グラフ(Bar Chart)です。
それぞれのラベル('A'、'B'、'C'、'D'、'E')に対応する値(10、15、7、10、5)を縦棒で表現しています。


3.ヒストグラム(Histogram)

次に、ヒストグラムを描いてみましょう。
ヒストグラムは、データの分布を視覚化するためのグラフです。
データセット内のデータが各区間にどれだけ含まれているかを表します。

ヒストグラム

こちらがヒストグラム(Histogram)です。
データセット内の値がどのように分布しているかを視覚化しています。
この例では、ランダムに生成した(正規分布に従う)1000個の数値データに対してヒストグラムを作成し、30個の区間を設定しています。


4.散布図(Scatter Plot)

次に、散布図を描いてみましょう。
散布図は、2つの変数間の関係を視覚化するために使用されます。
それぞれの点は、2つの変数の値の組を表します。

散布図

こちらが散布図(Scatter Plot)です。
2つのランダムなデータセット(xとy)の間の関係を視覚化しています。


5.円グラフ(Pie Chart)

次に、円グラフを描いてみましょう。
円グラフは、全体に対する各部分の割合を視覚化するためのグラフです。

円グラフ

こちらが円グラフ(Pie Chart)です。
4つのカテゴリー('A'、'B'、'C'、'D')の各サイズ(15、30、45、10)を円形に表現しています。
各スライスの大きさは、そのカテゴリーの全体に対する割合を表しています。


6.箱ひげ図(Box plot)

次に、箱ひげ図を描いてみましょう。
箱ひげ図は、データの分布を視覚化するためのグラフで、最小値、第一四分位数、中央値、第三四分位数、最大値などの統計的な情報を提供します。

箱ひげ図

こちらが箱ひげ図(Box Plot)です。
この例では3つの異なる分布(それぞれ異なるスケールのランダムな数値データ)を表しています。
箱の中心線は中央値(メディアン)を示し、箱の上下の辺はそれぞれ第一四分位数と第三四分位数を示します。
また、ひげはデータの範囲を示し、外れ値は個別にプロットされます。


7.ヒートマップ(Heatmap)

次に、ヒートマップを描いてみましょう。
ヒートマップは、色のグラデーションを使用して、データのパターンや規則性を視覚化するためのグラフです。
データの値に基づいて色を変えることで、データの分布や集中を示します。

ヒートマップ

こちらがヒートマップ(Heatmap)です。
この例では、10x10のランダムなデータセットを使用しています。
色の濃淡がデータの値を表しています。色が濃いほど値が大きく、色が薄いほど値が小さいことを示しています。


8.面積グラフ(Area Plot)

次に、面積グラフを描いてみましょう。
面積グラフは、時間に対する量の変化を視覚化するのによく用いられます。

面積グラフ

こちらが面積グラフ(Area Plot)です。
2つの関数(y1とy2)の間の領域を塗りつぶしています。
面積グラフは、量の変化を時間とともに視覚化するのによく使用されます。


9.ステムプロット(Stem Plot)

次に、ステムプロットを描いてみましょう。
ステムプロットは、データセット内の各点を直線(ステム)とマーカーで表示します。
この種のプロットは、データの変動やトレンドを視覚化するのに便利です。

ステムプロット

こちらがステムプロット(Stem Plot)です。
各点を直線(ステム)とマーカーで表示しています。
この例では、x軸に0から2πまでの値を等間隔に配置し、y軸にそれぞれのxの値に対するexp(sin(x))の値をプロットしています。


10.3Dプロット(3D Plot)

次に、3Dプロットを紹介します。
3Dプロットは、3つの数値変数間の関係を視覚化するのに使用されます。
3Dプロットは、データの空間的な関係性を理解するのに役立つことが多いです。

(1) 3D散布図(3D Scatter Plot)

最初に、3D散布図を描いてみましょう。

3D散布図

こちらが3D散布図(3D Scatter Plot)です。
3つのランダムなデータセット(x、y、z)の間の関係を視覚化しています。
3次元空間内の各点が、3つの変数の値の組を表しています。

(2) 3Dサーフェスプロット(3D Surface Plot)

次に、3Dサーフェスプロットを描いてみましょう。

3Dサーフェスプロット

こちらが3Dサーフェスプロット(3D Surface Plot)です。
このプロットは、3つの変数間の関係を視覚化します。
一般的に、2つの変数(この例ではXとY)はx軸とy軸上にプロットされ、3つ目の変数(この例ではZ)はz軸上にプロットされ、表面として表現されます。色の濃淡がZの値を示しています。

(3) 3Dワイヤーフレームプロット(3D Wireframe Plot)

次に、3Dワイヤーフレームプロットを描いてみましょう。
3Dワイヤーフレームプロットもまた、3つの変数間の関係を視覚化するためのプロットです。

3Dワイヤーフレームプロット

こちらが3Dワイヤーフレームプロット(3D Wireframe Plot)です。
3Dワイヤーフレームプロットは、2つの変数(この例ではXとY)をx軸とy軸上にプロットし、3つ目の変数(この例ではZ)をz軸上にプロットしますが、表面ではなくワイヤーフレームで表示されます。

これらの3Dプロットは、3つの数値変数間の関係を視覚化するための強力なツールであり、データの空間的なパターンや構造を理解するのに役立ちます。


11.レーダーチャート(Radar Chart)

次に、レーダーチャート(またはスパイダーチャート)を描いてみましょう。
レーダーチャートは、複数の変数の値を視覚化するためのグラフで、変数の値が中心から外側へと放射状に表示されます。
レーダーチャートは、複数の変数の値を一度に比較するのに特に便利です。

レーダーチャート

こちらがレーダーチャート(Radar Chart)です。
レーダーチャートは、複数の変数(この例では'A'、'B'、'C'、'D'、'E')の値を視覚化します。
変数の値は中心から外側へと放射状に表示されます。各変数は等間隔に円周上に配置され、値は中心からの距離として表示されます。


12.ヴァイオリンプロット(Violin Plot)

次に、ヴァイオリンプロットを描いてみましょう。
ヴァイオリンプロットは、データの分布を視覚化するためのグラフで、箱ひげ図とカーネル密度推定を組み合わせたものです。
このプロットは、データの分布がどのように密度を持っているかを視覚化します。それぞれのヴァイオリンは、そのデータの確率密度を表します。

ヴァイオリンプロット

こちらがヴァイオリンプロット(Violin Plot)です。
このプロットは、データの分布を視覚化します。
それぞれのヴァイオリンは、そのデータの確率密度を表しています。
この例では、3つの異なる正規分布データセットを用いています。


13.等高線プロット(Contour Plot)

次に、等高線プロットを描いてみましょう。
等高線プロットは、3つの数値変数を視覚化するためのプロットです。
この例では、3D関数の等高線プロットを描いています。

等高線プロット

こちらが等高線プロット(Contour Plot)です。
このプロットは、3つの数値変数を視覚化します。
一般的に、2つの変数(この例ではXとY)はx軸とy軸上にプロットされ、3つ目の変数(この例ではZ)は等高線として表現されます。色の濃淡がZの値を示しています。


14.グリッドプロット(Grid Plot)

最後に、グリッドプロットを描いてみましょう。
グリッドプロットは、複数のグラフを同時に表示するためのプロットです。各サブプロットは独立したグラフを表示できます。

(1) 2つのサブプロットを持つグリッドプロット

この例では、2つのサブプロットを持つグリッドプロットを作成します。

2つのサブプロットを持つグリッドプロット

こちらがグリッドプロット(Grid Plot)です。
このプロットは、複数のグラフを同時に表示するためのものです。
この例では、2つのサブプロットを含むグリッドプロットを作成しています。
各サブプロットは独立したグラフy=sin(x²)とy=−sin(x²)を表示しています。

(2) 4つのサブプロットを持つグリッドプロット

次に、4つのサブプロット(2行2列)を持つグリッドプロットの例を示します。
各サブプロットには異なるタイプのプロット(折れ線グラフ、ヒストグラム、散布図、棒グラフ)を表示します。

4つのサブプロットを持つグリッドプロット

こちらが4つのサブプロットを含むグリッドプロットの例です。
各サブプロットは独立したグラフを表示しています。
Plot 1: 折れ線グラフy =sin(x^2)、Plot 2: ヒストグラム、Plot 3: 散布図、Plot 4:棒グラフ
このようなグリッドプロットは、複数の関連するプロットを一緒に表示し、データの複数の側面を比較するのに便利です。


まとめ

Code Interpreterは、このように多くの種類のグラフを描くことができ、表現力豊かに分析結果を表現することができます。
皆さんも、是非、これらのグラフを使いこなして、データ分析に活用してみてください。

「このデータを〇〇のグラフで表示してください。」と入力するだけで、素晴らしいグラフを描いてもらえます。

試しに、以下のプロンプトでポケモンの強さをグラフで表してもらいました。

ピカチュウとヒトカゲとゼニガメの強さを4種類のグラフで表して、グリッドプロットにまとめてください。
ChatGPTの回答①
ChatGPTの回答②
ChatGPTの回答③


この記事が参加している募集

AIとやってみた

この記事が気に入ったらサポートをしてみませんか?