日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python不能保存中文_Python 关于matplotlib无法显示中文字体的解决方法

發(fā)布時間:2024/9/27 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python不能保存中文_Python 关于matplotlib无法显示中文字体的解决方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

#### 以下面的例子說明如何解決matplotlib畫圖中出現(xiàn)中文字體無法顯示問題

要畫出10-12點氣溫變化的圖像

```

from matplotlib import pyplot as plt

import random

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_ticks = ['10點{}分'.format(i) for i in range(60)]

x_ticks += ['11點{}分'.format(i) for i in range(60)]

plt.xticks(list(x)[::3],x_ticks[::3],rotation=45)

plt.xlabel('時間')

plt.ylabel('溫度:單位(℃)')

plt.title('十點到十二點氣溫變化情況')

```

運行出來的圖像如下:

可以看出來圖像中中文并沒有顯示出來,那么如何解決呢?下面提供三種方法,實質(zhì)上第一第二種方法是一樣的:

##### 第一種:

```

from matplotlib import pyplot as plt

import random

import matplotlib as mpl

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)

mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 微軟雅黑

mpl.rcParams['font.serif'] = ['Microsoft YaHei']

mpl.rcParams['axes.unicode_minus'] = False # 解決保存圖像是負號'-'顯示為方塊的問題,或者轉(zhuǎn)換負號為字符串

x_ticks = ['10點{}分'.format(i) for i in range(60)]

x_ticks += ['11點{}分'.format(i) for i in range(60)]

plt.xticks(list(x)[::3],x_ticks[::3],rotation=45)

plt.xlabel('時間')

plt.ylabel('溫度:單位(℃)')

plt.title('十點到十二點氣溫變化情況')

```

這時運行出來的結(jié)果就有中文了:

##### 第二種方法:

```

from matplotlib import pyplot as plt

import random

import matplotlib

x = range(0,120)

y = [random.randint(20,35) for i in range(120)]

plt.figure(figsize=(20,8),dpi=80)

font = {'family' : 'Microsoft YaHei',

'weight' : 'bold',

'size' : '12'}

matplotlib.rc('font', **font)

plt.plot(x,y)

x_ticks = ['10點{}分'.format(i) for i in range(60)]

x_ticks += ['11點{}分'.format(i) for i in range(60)]

plt.xticks(list(x)[::3],x_ticks[::3],rotation=45)

plt.xlabel('時間')

plt.ylabel('溫度:單位(℃)')

plt.title('十點到十二點氣溫變化情況')

```

運行結(jié)果如下,完美解決了中文不顯示問題:

##### 第三種方法:

```

from matplotlib import pyplot as plt

import random

from matplotlib import font_manager

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)

my_font = font_manager.FontProperties(fname='C:\WINDOWS\FONTS\MSYHL.TTC') # win字體路徑可在左下角搜索欄中輸入字體查看

_xtick_labels = ['10點{}分'.format(i) for i in range(60)]

_xtick_labels += ['11點{}分'.format(i) for i in range(60)]

plt.xticks(list(x)[::3],_xtick_labels[::3],rotation=45,fontproperties=my_font)

plt.xlabel('時間',fontproperties=my_font)

plt.ylabel('溫度:單位(℃)',fontproperties=my_font)

plt.title('十點到十二點氣溫變化情況',fontproperties=my_font)

```

運行出圖像如下:

這種方法除了麻煩之外,可以看出雖然縱坐標和標題的中文都顯示出來了,但是橫坐標從第二項開始就還是不顯示...

##### 推薦第一二種方法,第三種方法不知道是什么原因?qū)е氯杂形达@示的中文,望各位大佬有空閑時能幫忙分析一下原因,交流一下~

u1s1知乎啥時候引進markdown編輯器啊,這樣好亂啊。。。。

不嫌棄的話請移步俺的“嗅探熊”,探索更多黑科技!

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的python不能保存中文_Python 关于matplotlib无法显示中文字体的解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。