「ChatGPTでグラフが作れたら便利なのに…」そう思ったことはありませんか?実は、ChatGPTでは、表データやExcelファイルから棒グラフ、折れ線、円グラフなどを自動生成することができます。
本記事では、ChatGPTを活用してグラフを作成するための基本知識から、具体的なプロンプト例、Excel連携の方法、さらにはグラフが表示されないときのエラー対策や文字化け回避の手順まで、徹底的に解説します。
ChatGPTでグラフ作成を始める前に知っておきたい基礎知識
ChatGPTはテキストによる対話型AIですが、Pythonを使ったコード生成や表計算データの解析、さらには簡易的なグラフ作成まで対応可能となっています。
特にAdvanced Data Analysis機能を使えば、棒グラフ、折れ線グラフ、円グラフ、散布図などのグラフを作成できます。
これにより、日常業務でのデータ分析やプレゼン資料の作成、マーケティングレポートなどにChatGPTを活用できる幅が広がります。
たとえば、売上推移の折れ線グラフや、市場シェアの円グラフを、手元の表データから簡単に自動生成することが可能です。
ChatGPTで作れるグラフの種類
ChatGPTでは、「棒グラフ」「折れ線グラフ」「円グラフ」「散布図」の4種類に対応しています。たとえば、月別売上の推移を表す場合には折れ線グラフ、各商品の販売数比較には棒グラフ、構成比率を視覚的に伝えたいときには円グラフが最適です。
また、2軸の関係性を示す散布図は、相関分析や回帰モデルの前提確認などに役立ちます。さらに、ChatGPTでは用途に応じたカスタマイズ(色、ラベル、凡例など)も可能で、より見やすく整ったグラフを自動的に作成できる点が大きな魅力です。
ChatGPTのグラフはエクセルに対応している
ChatGPTは、Excel形式のデータに対応しているため、スプレッドシートを活用したグラフ作成が可能です。特に有料プランであるChatGPT Plusを利用すれば、Excelファイル(.xlsx)やCSVファイルを直接アップロードし、それを元にグラフを生成することができます。
この機能により、従来のようにデータを一行ずつ入力する手間が省け、より効率的に作業を進めることが可能になります。
さらに、テキスト形式で整形された表データにも対応しており、列見出しや数値が正しく認識されれば、エクセルに近い精度でグラフを描画できます。
ChatGPTでグラフ作成する手順
ここからは具体的にChatGPTでグラフを作成する手順を紹介します。
表データを直接渡してグラフを作成する方法
ChatGPTでグラフを作成する最も手軽な方法の一つが、表データをそのままテキストで渡す方法です。これは、データの量がそれほど多くない場合や、簡易的なグラフ化をすぐに行いたいときに便利です。
たとえば、以下のようなテキスト形式の表をそのままプロンプトに貼り付けることで、棒グラフや折れ線グラフを生成できます。

このような構造化されたテキストデータであれば、ChatGPTは自動的に項目名と数値を解析し、適切なPythonコード(MatplotlibやSeabornを用いたもの)を生成します。
生成されたコードは、有料版(Plus)であればその場で実行され、即座にグラフが表示されます。また、プロンプトの内容を工夫することで、グラフの形式(円グラフにしてほしい、ラベルを日本語で表示してほしいなど)やグラフのデザインをコントロールできます。
たとえば、先ほどの会話の続きを下記のようにすると、また違ったグラフが出力されます。

作成するときは自分好みのカスタマイズを伝えるようにしてください。
ExcelやCSVファイルから自動でグラフを生成する方法
ChatGPT Plusユーザーであれば、Excel(.xlsx)やCSVファイルをアップロードして、そこから自動的にグラフを作成することが可能です。
データ量が多い場合や複数のシートを扱う複雑な構成のファイルでも対応できるので、主にビジネス関連で資料を作成したいときに役立ちます。
具体的には、ファイルをアップロードしたうえで、「このファイルの売上データを使って月別の棒グラフを作ってください」といったプロンプトを入力すれば、Pythonコードが自動で生成され、即座にグラフが出力されます。
まずは、「+」ボタンから「写真とファイルを追加する」を選んでください。

次に、グラフデータが入っているCSVファイルかエクセルファイルをアップロードしてください。今回はサンプルデータとして下記の適当に作成した値を使用します。

CSVファイルを読み込むと数十秒でグラフが完成します。

ChatGPTでグラフを読み取る方法
ChatGPTは、グラフ画像やスクリーンショットから情報を読み取り、表形式のデータに変換することも可能です。今回は、下記画像を使って読み取らせてみます。

まずは、「+」ボタンから「写真とファイルを追加する」を選んでください。

グラフの画像を読み込ませると、テキスト形式で出力されるため、グラフを分析することが可能です。

グラフ作成プラグインは現在使えない
ChatGPTには「Code Interpreter」や「ChartGPT」など、グラフ作成に特化したプラグインが存在していましたが、2024年4月をもって従来のプラグイン機能は公式に廃止されました。そのため、現在ではこれらの専用プラグインを利用することはできません。
しかし、プラグイン機能で提供されていたグラフ作成機能が、標準機能として統合されています。たとえば、Python実行環境(Advanced Data Analysis)やファイルアップロード機能、画像認識などがデフォルトで利用可能です。
GPTs(カスタムGPT)を活用する

GPTs(カスタムGPT)は有料版ユーザー向けに提供されている機能で、指示や役割、ツール設定を組み込んだAIを作成できる機能です。
たとえば、グラフ作成に特化したGPTを作れば、データ解析からビジュアル出力まで一連の作業を一括で行うことができます。
実際、公開されているカスタムGPTの中には、CSVファイルやExcelファイルを読み込みや好きな形式でグラフを描画する機能を備えたものが存在します。
また、自作することも難しくなく、「アップロードされたファイルを分析し、棒グラフまたは折れ線グラフとして出力してください」といった指示を事前に設定するだけで、GPTを構築できます。
Advanced Data Analysisを使用する

この機能を活用すれば、アップロードしたExcelやCSVファイルをPythonで解析し、そのままグラフを作成することができます。特にMatplotlibやSeabornといった可視化ライブラリを使った出力が可能です。
これにより、ツールを行き来したり、関数を手入力したりする手間を大幅に削減できます。先ほど紹介したグラフ作成も、Advanced Data Analysisの機能です。
ChatGPTで理想的なグラフを作成するコツ
ChatGPTでグラフを作成する際、ただデータを渡すだけでは、理想的なグラフが作成できるとは限りません。
一発でグラフを作るには、いくつかのコツを押さえることが大切です。特にChatGPTはプロンプトの内容に大きく影響されるため、どのような目的でどの形式のグラフを作りたいのか細かく伝える必要があります。
質問は明確かつ具体的に記述する
ChatGPTで理想的なグラフを作成するためには、まず「何を、どう表現したいのか」を明確に伝えることが大切です。
たとえば、「グラフを作ってください」という曖昧な指示では、棒グラフになるのか、円グラフになるのか、何を基準に表示するのかがAIには伝わりません。その結果、意図と異なるグラフが出力されてしまうこともあります。
プロンプトの例としては、「以下の売上データをもとに、月ごとの売上推移を折れ線グラフで可視化してください」「カテゴリごとの構成比を円グラフで表示し、日本語ラベルをつけてください」といった具合に、対象のデータ・目的・グラフの種類・表示方法を明示するようにしてください。
また、「グラフを作るたび、指示するのが面倒」という人は下記テンプレートに沿って実施すると、入力する手間を省くことができます。
テンプレート
<instruction>
1. グラフタイプの入力: グラフタイプは、「bar」、「line」、「pie」、「doughnut」、「polarArea」、「radar」、「bubble」、「scatter」などが使えます。
2. データの入力: ユーザーがグラフに表示したいデータを次の形式でうけとる: labels: [‘Label1’, ‘Label2’, ‘Label3’], data: [10, 20, 30]
Note:
a.ユーザーにステップ1,2の内容を順に入力してもらうように依頼すること
bステップ1, 2が完了後、3に進むこと
c.入力された内容や形式に不備があれば改善案を提示しつつ再入力を求めること
3. グラフのプレビュー生成:1,2のステップが完了してその入力されたグラフタイプとデータを元に、エンコード済みのhttp://quickchart.ioのURLを作すること。その後、対応するグラフのプレビューを生成し、イメージリンクとソース引用を提供。下記のアウトプット形式で表示すること:
<output>
 [Source](link of source)
下記はテンプレートの実施結果です。

テンプレートを入力すると、ChatGPTがいくつか質問をするので、答えていきます。まずは、グラフの種類を選んでください。

次にグラフにするデータとラベルを入力します。

すると、リンクが送られてくるのでクリックしてください。

画像でグラフが出力されます。

参考:https://x.com/shoty_k2/status/1644657798658277376
例示や期待する形式で指示する
グラフを作成する際には、「このようなグラフを作りたい」という完成イメージを明示することで、出力結果の精度が高まります。
たとえば、「横軸に月、縦軸に売上金額を表示した折れ線グラフ」「割合を円グラフで示し、各項目に日本語ラベルを付けて、中央に合計金額を表示」と明示することで、グラフのデザインを変更することが可能です。
また、過去に出力されたグラフの画像やHTML形式のコード、参考になるグラフのURLなどを提示するのも効果的です。
ここからは、具体的な指示の方法について紹介します。まずは、グラフにしたいデータファイルを用意します。CSV、エクセルファイルのどちらでも大丈夫です。

次に、そのファイルをChatGPTに読み込みます。

ファイルを読み込んで送信すると、読み込まれて下記画像が表示されます。赤い四角の部分をクリックして、表を広げてください。

すると、テーブル表が出てきて、列、行を選択できるようになります。

テーブルでカスタマイズしたいところを好きに選択してChatGPTに指示を出すと、具体的にグラフをカスタマイズすることが可能です。
参考:https://www.youtube.com/watch?v=eL01JMIBE7o
複数回修正を重ねる
一度の指示で完璧な仕上がりを目指すよりも、試行錯誤を前提に何度か修正を重ねることで理想的なグラフに近づけます。
たとえば、「ラベルを日本語にしてください」「凡例をグラフの右側に移動してください」「グラフのサイズを横長に変えてください」など、気になる点をその都度フィードバックすると、ChatGPTはその内容を反映して再度グラフを出力してくれます。
この繰り返しにより、最終的には自分の意図に限りなく近いグラフに仕上げることが可能です。具体的には以下のように修正を行っていきます。
まずはグラフを作成してください。

グラフが作成されましたが、使う資料のデザインによって、グラフが合わないことがあります。そんな時は、少しずつ微調節を行ってください。

もし、どんなデザインにしようか悩んでいる場合は、ChatGPTにアドバイスをもらうのもひとつの手です。

資料のデザインテーマを伝えると、ChatGPTが分析してグラフのデザインを調整します。

無料版とPlus版の違いは?ChatGPTのグラフ機能を徹底比較

項目 | 無料版 | Plus版 |
利用モデル | GPT-4o(制限つき) | GPT-4o(常時利用可) |
グラフの画像出力 | △(一部制限あり) | ○(Python実行で即時出力) |
ファイルのアップロード | △(回数制限あり) | ○(CSV/Excelを自由に使用可) |
Pythonコードの実行 | △(制限あり) | ○(Advanced Data Analysis対応) |
グラフ作成サポート機能 | △ | ○(コード+画像出力が可能) |
カスタムGPT(GPTs)の利用 | △(基本機能のみ) | ○(グラフ特化GPTの作成が可能) |
利用制限回数 | あり | なし(高い上限設定) |
ChatGPTの無料ユーザーでもGPT-4oを利用することが可能になっています。これは、テキスト、画像、音声など多様な入力に対応しています。
しかし、無料版には使用制限があり、一定の回数や負荷を超えると自動的に旧モデルのGPT-3.5に切り替わる仕様です。また、Pythonによるグラフ生成やファイルアップロードなど一部の機能も制限されています。つまり、GPT-4oを使えるからといって、グラフ作成が無制限に行えるわけではありません。
一方で、ChatGPT Plus(有料版)では、安定してGPT-4oを利用できるうえに、Python実行環境やファイルアップロード、カスタムGPT(GPTs)などの追加機能も利用可能です。
これにより、グラフの自動生成、データ分析、出力カスタマイズといった複雑な作業も快適にこなせます。
グラフをCSVやExcelに出力する方法
ChatGPTで生成したグラフは、その元データをCSVやExcel形式に整形することが可能です。たとえば、ChatGPTに表形式のデータを整形させ、「このデータをCSV形式で出力してください」と依頼すれば、CSVとして保存可能なテキストを生成してくれます。
その内容をコピー&ペーストするだけで、ExcelやGoogleスプレッドシート上で再利用することができます。
実際にChatGPTにCSVファイルとして出力してもらうと、下記の回答と共にリンクが送られてくるのでクリックします。

すると、ダウンロードできるためスプレッドシート上で活用可能です。

グラフが表示されない?トラブル時の対処方法
ChatGPTを使ってグラフを作成しようとした際、「グラフが出力されない」「コードは表示されたのに画像が見えない」といったトラブルが発生することがあります。
特に初めて利用する方や、無料版やPlus版の違いをよく知らない場合には、原因がわからず戸惑うケースも少なくありません。
このような問題にはいくつかのパターンがあり、原因を正しく把握すれば、簡単な操作で解決できることができます。
グラフが出力されないときの対処方法
ChatGPTでグラフ作成を依頼したにもかかわらず、画像が表示されないという現象は比較的よくあるトラブルの一つです。
その多くは、セッション切れやプロンプトの記述ミス、ファイルアップロードの不備といった基本的な原因によるものです。
つまり、セッションが自動で切断されている可能性が高く、再実行するだけで正常に表示される可能性が高いです。
また、ファイルをアップロードしていた場合、ファイルがうまくアップロードしていない可能性があります。もう一度ファイルを再送信し、「このファイルから再度グラフを作成してください」と指示してみてください。
文字化けを回避する方法
ChatGPTで出力したグラフにおいて、日本語のタイトルやラベルが「□」や「???」などに文字化けしてしまうことはよくあるトラブルの一つです。これは主に、Pythonのグラフ描画ライブラリ(Matplotlibなど)が日本語に対応していないフォントをデフォルトで使用するために発生します。
まずは日本語フォント(.ttfファイル)を準備してください。Google Fontsなどから「Noto Sans JP」や「IPAGothic」などの日本語フォント(.ttf形式)をダウンロードしましょう。
ダウンロード先:https://forest.watch.impress.co.jp/library/software/ipafont/?utm_source=chatgpt.com

次にダウンロードしたフォントをChatGPTにアップロードします。

すると、アップロードしたチャットのアーカイブ内では、日本語フォントが可能となり、文字化けを起こさないようになります。
ただし、ChatGPTのアーカイブを切り替えるたび、ファイルをアップロードしないといけないため、注意が必要です。