ChatGPTではAdvanced Data Analysisと言って、Pythonをつかった様々なデータ解析が可能です。
代表例で言うと、売り上げを記載したエクセルファイルやCSVファイルをChatGPTにアップロードして、棒グラフなどでデータを可視化してもらうというようなことができます。
しかし課題の一つとして、生成されたグラフの凡例など、日本語で表記してほしいところが文字化けしてしまうという問題点です。
元のデータが英語である場合はそのまま英語でグラフの凡例が記述されるのですが、日本語の場合だとそうはいきません。
では、どうしたら日本語の文字化けを防ぐことができるのでしょうか。
以下の手順を試してみてください。

日本語フォントを渡す
文字化けしてしまう理由の一つに、ChatGPTが日本語フォントを反映できないというのがあるので、こちらから日本語のフォントを渡してあげる作業を行います。
今回使う日本語フォントはNoto Sans JPシリーズのフォントです。
このフォントだとうまくいく場合が多いです。
下記リンクからまずはPCにダウンロードしてください。
https://fonts.google.com/noto/specimen/Noto+Sans+JP
「Noto Sans JP.zip」というファイルがダウンロードされると思うので、そのファイルを解凍します。
解凍できたらそのフォルダの中にいくつかのフォントファイルが格納されていることが分かります。
拡張子が「.ttf」となっているものです。

ここまでできたら、まずは試しにそのままChatGPTにグラフを描いてもらいましょう。
私の場合、まずは商品Aの価格変動を表した表をエクセルで作成し、CSVファイルで保存して、それをChatGPTに渡してみました。プロンプトは「この表をグラフ化してください」としました。

すると上図のように表の内容がChatGPTにも反映されています。出力は冒頭に示した図のように日本語が文字化けしてしまったものが出てきてしまいました。

ここで先ほどダウンロードした日本語フォントを渡してみます。
とりあえず、Noto Sans JPシリーズの「NotoSansJP-Light.ttf」を渡してみます。Lightですから線が細めのフォントですね。Boldとかだと太字になります。


このように、渡してあげた日本語フォントを使って文字化けしていた部分が修正されました。
他のフォントでもできるかどうか皆さんも試してみてください。
他のタイプのデータ解析の結果を出力してもらうときにも使える方法かどうかもやってみてくださいね。
ちなみに別のチャットに移ってしまうと日本語フォントを渡してあげたことは忘れてしまうので、チャットを新しくする際などは再度日本語フォントを渡してあげて、「このフォントを使ってください」などとプロンプトで指示してあげてください。
日本語でグラフを表示するPythonライブラリを渡す
次に試すのは、日本語でグラフを表示するPythonのコードを渡してあげるというものです。
別に初心者でも簡単な方法ですから試してみてください。
まずは下記リンクからPythonコードのzipファイルをダウンロードします。
https://github.com/uehara1414/japanize-matplotlib

ページにアクセスしたら、上図右上の緑色の「Code」をクリック。すると「Download zip」という項目がありますから、それをクリックしてダウンロードします。
ダウンロード出来たらそのzipファイルを直接ChatGPTにアップロードしてみましょう。
アップロードしたらプロンプトでは次のように指示します。
「zipファイルを解凍して、以下のコードを実行してください。
zipファイルを解凍して、以下のコードを実行してください。
import matplotlib.pyplot as plt
import japanize_matplotlib
コード部分は、「matplotlibをimportした後、japanize_matplotlibをimport」を示しています。
(私のような利用例だと「as plt」は書かなくても良いかもしれません。)


すると私のチャット画面の場合、このように日本語フォントが正しく表示されるかの確認までしてくれました。
では、先ほどのように商品Aの価格変動のCSVファイルを渡してあげて、グラフ化してもらいます。


するとこのような形で、うまく日本語が反映されたグラフを描いてもらいました。
「NotoSansJP-Light」で作成してもらったときよりも日本語が見やすい感じになりましたね。
IPAフォントのIPAexゴシック(Ver.003.01)を利用しているとのことです。
皆さんもぜひ試してみてください。