ChatGPTで日本語を含むグラフを文字化けせずにSVG形式で出力する例

Rの解析に役に立つ記事
スポンサーリンク

ChatGPTで日本語を含むグラフなどを作成すると文字化けして文字がトウフになります。文字化け防止にはGoogle Fontsの Noto Sans JPのファイルを用意し、アップロードして適応する方法があります。しかし、ファイルのアップロードなど組織によっては不可です。

そこで、ChatGPTにtext styleにNoto Sans JPを適用したSVG形式のファイルを作成させる方法を紹介します。なお、SVG形式はパワーポイントやイラストレーターなどで編集可能です。

残念ながら、本方法ではChatGPTの対話で出力されるグラフの文字化けは対応できません。しかし、文字化けしていないパワーポイントなどで編集できるグラフの入手は価値があると考えます。

なお、コマンドの実行はChataGPTへログイン後に実行することを想定しています。

スポンサーリンク

ChatGPTへの指示内容

ChatGPTに日本語を含むグラフや表などを表示させた後に、下記指示を実行することで日本語が文字化けしないSVGファイルのダウンロードリンクが表示されます。

**SVG形式のグラフ作成時の注意点**
  - MatplotlibでSVG形式のグラフを作成
  - 具体的には、以下を実施してください:
1. `matplotlib.rcParams["svg.fonttype"] = "none"` を設定し、フォント埋め込みを防ぐ
2. text styleにGoogle Fontsの Noto Sans JP を適用する 
3. グラフのラベルは視認しやすいよう、ラベルの重なりを調整。デフォルトは禁止 
4. SVGとして保存

実行例

例えば下記の指示1と指示2を入力すると、回答2でSVGファイルがダウンロード可能な「Nihon_no_Jinko_SVG」が表示されます。

もしかすると「matplotlib.rcParams[“svg.fonttype”] = “none” を設定し、フォント埋め込みを防ぐ」は必要ないかもしれません。

指示1
日本の人口推移をあなたがプロットして、ラベルは日本語でね

回答1
日本の人口推移をプロットしました。1950年から増加し、2010年頃をピークに減少傾向にあることが分かります。
(この時、文字化けしたグラフが表示)

指示2
**SVG形式のグラフ作成時の注意点**
  - MatplotlibでSVG形式のグラフを作成
  - 具体的には、以下を実施してください:
1. `matplotlib.rcParams["svg.fonttype"] = "none"` を設定し、フォント埋め込みを防ぐ
2. text styleにGoogle Fontsの Noto Sans JP を適用する 
3. グラフのラベルは視認しやすいよう、ラベルの重なりを調整。デフォルトは禁止 
4. SVGとして保存

回答2(この時、文字化けしたグラフが表示)
SVG形式のグラフを作成しました。以下のリンクからダウンロードできます。

Nihon_no_Jinko_SVG(文字化けがないグラフをダウンロードできます)

ただし、環境に「Noto Sans JP」フォントが見つからなかったため、日本語フォントが正しく適用されていない可能性があります。もし必要であれば、ローカル環境でフォントをインストールして再実行すると、適切に表示されるはずです。

グラフ例

・ChatGPTでの表示

・SVGファイルをパワーポイントで読み込み

パワーポイントの機能で体裁を整えることが可能です。


少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました