python中呼叫matplotlib畫圖,中文標註亂碼強力解決辦法
阿新 • • 發佈:2018-12-19
關於python中呼叫matplotlib畫圖,中文標註亂碼 如下:
解決辦法:
# 通用字型設定
from matplotlib import font_manager
# my_font = font_manager.FontProperties(fname="字型路徑")
my_font = font_manager.FontProperties(fname="/Library/Fonts/Songti.ttc")
...
# 使用方法
plt.xlabel("內容描述",fontproperties=my_font)
例項: matplotlib折線圖及中文標註顯示
from matplotlib import pyplot as plt import random # windows 和linux設定字型的方法 # import matplotlib # font = {'family' : 'MicroSoft YaHei', # 'weight' : 'bold', # 'size' : 10} # matplotlib.rc("font", **font) # 通用字型設定 from matplotlib import font_manager my_font = font_manager.FontProperties(fname="/Library/Fonts/Songti.ttc") x = range(0,120) y = [random.randint(20,35) for i in range(120)] plt.figure(figsize=(20,8), dpi=80) plt.plot(x,y) x_label =list(x) x_label_show = ["10點{}分".format(i) for i in range(60)] x_label_show += ["11點{}分".format(i-60) for i in range(60,120)] plt.xticks(x_label[::3],x_label_show[::3],rotation=45, fontproperties=my_font) # rotation旋轉的度數 # 新增描述資訊 plt.xlabel("時間",fontproperties=my_font) plt.ylabel("溫度 單位(°C)",fontproperties=my_font) plt.title("10點到12點每分鐘點氣溫變化情況",fontproperties=my_font) plt.show()
效果展示: