質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

自然言語処理

自然言語処理は、日常的に使用される自然言語をコンピューターに処理させる技術やソフトウェアの総称です。

Q&A

解決済

1回答

2616閲覧

python/NLP/ワードクラウドをplt.show()で表示されない

Lana

総合スコア5

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

自然言語処理

自然言語処理は、日常的に使用される自然言語をコンピューターに処理させる技術やソフトウェアの総称です。

0グッド

0クリップ

投稿2020/09/04 08:05

編集2020/09/04 08:52

前提・実現したいこと

オライリー・ジャパンの『ゼロからはじめるデータサイエンス』第2版
21章自然言語処理
図21−1のようなワードクラウドを表示したいです。
エラーは表示されませんが、plt.show()でワードクラウドが表示できません。
どうしたらワードクラウドを表示できるようになるのでしょうか。
ちなみに、前に作成した単純な折れ線グラフは表示できています。

すいません。はじめてなので、記載不足等ありましたらご指摘ください。

発生している問題・エラーメッセージ

plt.show()で表示されない。
エラーは表示されないため、なにか設定がおかしいのでしょうか。
ちなみに線形の簡単なコードはplt.show()で図形表示されます。

エラーメッセージ 特になし

該当のソースコード

言語:python

ソースコード #《plt.show()表示されないコード》 ```言語 python

%matplotlib inline
from matplotlib import pyplot as plt

data = [ ("big data", 100, 15), ("Hadoop", 95, 25), ("Python", 75, 50),
("R", 50, 40), ("machine learning", 80, 20), ("statistics", 20, 60),
("data science", 60, 70), ("analytics", 90, 3),
("team player", 85, 85), ("dynamic", 2, 90), ("synergies", 70, 0),
("actionable insights", 40, 30), ("think out of the box", 45, 10),
("self-starter", 30, 50), ("customer focus", 65, 15),
("thought leadership", 35, 35)]

def text_size(total):
""" custom text size settings """
return 8 + total / 200 * 20

def simple_meaningful_word_cloud(data):
fig, ax = plt.subplots(nrows=1)

for word, job_popularity, resume_popularity in data: plt.text(job_popularity, resume_popularity, word, ha='left', va='bottom', size=text_size(job_popularity + resume_popularity)) plt.xlabel("Popularity on Job Postings") plt.ylabel("Popularity on Resumes") plt.axis([0, 100, 0, 100]) plt.xticks([]) plt.yticks([]) ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) plt.show()
#《plt.show()表示されたコード》 ***単純な折れ線グラフ*** from matplotlib import pyplot as plt years = [1950, 1960, 1970, 1980, 1990, 2000, 2010] gdp = [300.2, 543.3, 1075.9, 2862.5, 5979.6, 10289.7, 14958.3] ***折れ線グラフを作る。X軸を年、Y軸をGDPとする*** plt.plot(years, gdp, color='green', marker='o', linestyle='solid') ***タイトルを追加する*** plt.title("Nominal GDP") ***Y軸にラベルを追加する*** plt.ylabel("Billions of $") plt.show()#グラフを表示する
### 試したこと tcl-tkパッケージインストール matplotlibrc.appファイル backend : agg→TkAggに変更 anaconda 再起動 →表示されない。 pyqg4インストール backend : TkAgg→Qt4Aggに変更 →表示されない。 現在は、TkAggにして保存 先頭に from wordcloud import WordCloud ### 補足情報(FW/ツールのバージョンなど) mac Catalina 10.15.6 Anaconda 1.9.12 python 3.7 Jupyter notebook6.1.1 matplotlib 3.2.2 wordcloud 1.8.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lana

2020/09/04 08:53

tiitoiさんありがとうございます。インデント修正してみました。 よろしくお願いします。
quickquip

2020/09/04 15:03

import matplotlib matplotlib.get_backend() の実行結果を載せる必要があると思いました。
guest

回答1

0

ベストアンサー

1個目のコードのほうは、関数の定義はありますが、関数を呼び出して使うというコードが見当たりません。
関数は呼び出して使わないと、道具を用意しただけの状態であり、なにも起こりません。
1個目のコードの一番下に以下を追加すれば表示されると思います。

simple_meaningful_word_cloud(data)

追記

↓を Jupyter Notebook 上にコピペして表示されませんか?

python

1%matplotlib inline 2from matplotlib import pyplot as plt 3 4data = [ 5 ("big data", 100, 15), 6 ("Hadoop", 95, 25), 7 ("Python", 75, 50), 8 ("R", 50, 40), 9 ("machine learning", 80, 20), 10 ("statistics", 20, 60), 11 ("data science", 60, 70), 12 ("analytics", 90, 3), 13 ("team player", 85, 85), 14 ("dynamic", 2, 90), 15 ("synergies", 70, 0), 16 ("actionable insights", 40, 30), 17 ("think out of the box", 45, 10), 18 ("self-starter", 30, 50), 19 ("customer focus", 65, 15), 20 ("thought leadership", 35, 35), 21] 22 23 24def text_size(total): 25 """ custom text size settings """ 26 return 8 + total / 200 * 20 27 28 29def simple_meaningful_word_cloud(data): 30 fig, ax = plt.subplots(nrows=1) 31 32 for word, job_popularity, resume_popularity in data: 33 plt.text( 34 job_popularity, 35 resume_popularity, 36 word, 37 ha="left", 38 va="bottom", 39 size=text_size(job_popularity + resume_popularity), 40 ) 41 42 plt.xlabel("Popularity on Job Postings") 43 plt.ylabel("Popularity on Resumes") 44 plt.axis([0, 100, 0, 100]) 45 plt.xticks([]) 46 plt.yticks([]) 47 ax.spines["top"].set_visible(False) 48 ax.spines["right"].set_visible(False) 49 plt.show() 50 51simple_meaningful_word_cloud(data)

投稿2020/09/04 08:58

編集2020/09/04 14:24
tiitoi

総合スコア21956

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lana

2020/09/04 14:12

回答ありがとうございます。 1個目のコードの一番下に追加して実行してみましたが、表示されませんでした。
tiitoi

2020/09/04 14:24 編集

追記したコードをNotebook 上にコピペでそのまま貼り付けても表示されませんか?
Lana

2020/09/04 14:31

はい、そのままコピーして貼り付けて実行しましたが、表示されませんでした。
tiitoi

2020/09/04 14:37 編集

うーん、こちらの環境では表示されたのですがなんででしょう、、、 一応、新しいノートブックを作って試してみてください。 それでもできないのであれば、matplotlibrc をいじったならその影響かもしれないので、一旦 matplotlibrc を削除して、notebook を再起動してください あと %matplotlib inline はなしでもいいかもしれません。
Lana

2020/09/04 23:53

回答ありがとうございました。 確かに、google colabで試したところ、表示できました。 今の仮想環境はいろいろやりすぎておかしくなっていそうなので、 ノートブックの方は仮想環境を新しいの作ってやってみます。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問