前提・実現したいこと
日本語歌詞をスクレイピングで収集し、形態素解析した上で(ここまでは成功しています)、WordCloudsを用いて頻出ワードを可視化しようとしています。
WordCloudsを作成する過程で日本語フォントのPathを渡そうとしたところ、表題の通り”cannot open resource"とエラーが表示されてしまいます。
下記の通り、ターミナルで該当のフォント自体の存在を確認出来たので、なぜ上手く読み込めないのか分からず、困っております。
参考にしたサイト:https://qiita.com/yuuuusuke1997/items/122ca7597c909e73aad5
発生している問題・エラーメッセージ
OSError Traceback (most recent call last) <ipython-input-18-f96c1871b543> in <module> 13 stop_words = ['そう', 'ない', 'いる', 'する', 'まま', 'よう', 'てる', 'なる', 'こと', 'もう', 'いい', 'ある', 'ゆく', 'れる'] 14 ---> 15 wordcloud = WordCloud(background_color='white', font_path=font, width=800, height=600, stopwords=set(stop_words)).generate(text) 16 #wordcloud = WordCloud(background_color='white', width=800, height=600, stopwords=set(stop_words)).generate(text) 17 ~/conda/envs/python/lib/python3.6/site-packages/wordcloud/wordcloud.py in generate(self, text) 569 self 570 """ --> 571 return self.generate_from_text(text) 572 573 def _check_generated(self): ~/conda/envs/python/lib/python3.6/site-packages/wordcloud/wordcloud.py in generate_from_text(self, text) 551 """ 552 words = self.process_text(text) --> 553 self.generate_from_frequencies(words) 554 return self 555 ~/conda/envs/python/lib/python3.6/site-packages/wordcloud/wordcloud.py in generate_from_frequencies(self, frequencies, max_font_size) 403 else: 404 self.generate_from_frequencies(dict(frequencies[:2]), --> 405 max_font_size=self.height) 406 # find font sizes 407 sizes = [x[1] for x in self.layout_] ~/conda/envs/python/lib/python3.6/site-packages/wordcloud/wordcloud.py in generate_from_frequencies(self, frequencies, max_font_size) 437 while True: 438 # try to find a position --> 439 font = ImageFont.truetype(self.font_path, font_size) 440 # transpose font optionally 441 transposed_font = ImageFont.TransposedFont( ~/conda/envs/python/lib/python3.6/site-packages/PIL/ImageFont.py in truetype(font, size, index, encoding, layout_engine) 834 835 try: --> 836 return freetype(font) 837 except OSError: 838 if not isPath(font): ~/conda/envs/python/lib/python3.6/site-packages/PIL/ImageFont.py in freetype(font) 831 832 def freetype(font): --> 833 return FreeTypeFont(font, size, index, encoding, layout_engine) 834 835 try: ~/conda/envs/python/lib/python3.6/site-packages/PIL/ImageFont.py in __init__(self, font, size, index, encoding, layout_engine) 192 return 193 self.font = core.getfont( --> 194 font, size, index, encoding, layout_engine=layout_engine 195 ) 196 else: OSError: cannot open resource
該当のソースコード
from wordcloud import WordCloud text_file = open('perfume_list.txt', encoding='utf-8') text = text_file.read() from PIL import Image, ImageDraw, ImageFont #日本語のフォントパス font = '/System/Library/Fonts/Hiragino Sans W3' #font = ImageFont.truetype("/System/Library/Fonts//Hiragino Sans GBW32.png", 14) #無意味そうな単語除去 stop_words = ['そう', 'ない', 'いる', 'する', 'まま', 'よう', 'てる', 'なる', 'こと', 'もう', 'いい', 'ある', 'ゆく', 'れる'] wordcloud = WordCloud(background_color='white', font_path=font, width=800, height=600, stopwords=set(stop_words)).generate(text) #wordcloud = WordCloud(background_color='white', width=800, height=600, stopwords=set(stop_words)).generate(text) #画像はwordcloud.pyファイルと同じディレクトリにpng保存 wordcloud.to_file('./wordcloud_p.png')
試したこと
上記のソースコードでは font = '/System/Library/Fonts/Hiragino Sans W3' で実行していますが、
’/Users/ユーザー名/Library/Fonts/ヒラギノ角ゴシック W3.ttc’
’/System/Library/Fonts/ヒラギノ角ゴシック W3.ttc’
を試しても同様のエラーコードとなります。
ImageFontをインポートして’font = ImageFont.truetype("/System/Library/Fonts//Hiragino Sans GBW32.png", 14)’を実行してみましたが、やはり同じエラーに行き着きます。
補足情報(FW/ツールのバージョンなど)
ターミナルで’% find /System/Library/Fonts’でフォント一覧を出したところ、’/System/Library/Fonts/ヒラギノ角ゴシック W3.ttc’が存在している事は確認しております。
macOS Catalina Version 10.15.3
回答1件
あなたの回答
tips
プレビュー