作者ides13 (juso)
看板Python
標題Re: [問題] Python2 unicode轉日文
時間Tue Jun 6 14:34:46 2017
: : dtype='object', length=8655)
: : 但若輸入 dict_index.keys() 時,則會變成unicode:
: : [u'\u77ed\u9283',
: : u'\u5efa\u3066',
: : u'\u4f0a',
: : u'\u5e73\u5b89',
: : u'\u6025\u9a30',
: : u'\u897f\u65e5\u672c',
: : u'\u5e03\u9663',
: : ...]
: : 請問各位高手該如何解決此一問題?謝謝。
是unicode或文字應該不是問題。
我試的結果少了字型,顯示出來的也僅是方塊,
有正確的字型後,就可以顯示文字。
至少我的電腦跑這段程式碼沒問題,不過我的是python 3。
如果用python 2編譯器,貼上測試一下是否適用python 2,應該滿快的。
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.font_manager as font_manager
slist = [u'\u77ed\u9283',
u'\u5efa\u3066',
u'\u4f0a',
u'\u5e73\u5b89',
u'\u6025\u9a30',
u'\u897f\u65e5\u672c',
u'\u5e03\u9663']
x = np.arange(10)
fig = plt.figure()
ax = plt.subplot(111)
for i in range(5):
ax.plot(x, i * x, label=slist[i])
legend = ax.legend()
font = font_manager.FontProperties(fname='C:\\Fonts\\maisfontes-osaka.ttf')
for text in legend.texts:
text.set_font_properties(font)
plt.show()
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.32.131
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1496730891.A.8F4.html
推 TZULIU: 謝謝你的幫忙,昨天我發現果真如你所說是缺乏字型所致 06/07 13:15
→ TZULIU: 不過在我下載字型後發現還是無法,後來去檢視 06/07 13:16
→ TZULIU: font_manager.py,發現它的預設路徑跟我安裝的路徑不同 06/07 13:16
→ TZULIU: 後來還自己另外加了一個路徑才解決這個問題 06/07 13:17
→ TZULIU: 本來想說自己回文一下以免日後有新手遇到一樣問題跟我一樣 06/07 13:18
→ TZULIU: 弄了半天才找到答案,無奈最近有點忙,下禮拜再說吧 06/07 13:18
→ TZULIU: 詳情可以參考我在stack overflow的發問: 06/07 13:18
→ ides13: 會想到去看font_manager.py,滿厲害的。 06/07 17:51
→ ides13: 突然想到,為什麼不要把font複製到/Library/Fonts/內? 06/07 21:53
→ ides13: 感覺複製下載字型到特定目錄會比較快些。 06/07 21:54