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

歡迎訪問 生活随笔!

生活随笔

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

python

python-matplotlib制作图表与中文正常显示

發(fā)布時間:2024/3/13 python 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python-matplotlib制作图表与中文正常显示 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1安裝包

pycharm可以直接安裝:
file——settings——python interpreter——有一個?號就是install——搜索matplotlib——左下角install package——等待安裝成功就行了

2圖標中文顯示

在學(xué)習過程中發(fā)現(xiàn)制作出來的圖表中文顯示異常,就像下圖這樣:

解決辦法親測有效,只適用于windows64bit:

  • 首先需要下載一個字體,SimHei字體下載鏈接
  • 將下載好的字體放到pyProject\venv\Lib\site-packages\matplotlib\mpl-data\fonts\ttf中,直接雙擊安裝
  • 加入以下兩行配置代碼
  • matplotlib.rcParams['font.sans-serif']=['SimHei'] # 用黑體顯示中文 matplotlib.rcParams['axes.unicode_minus']=False # 正常顯示負號

    關(guān)于matplotlib更多個性化設(shè)置參考這篇文章
    以下的每一個代碼塊都是完整可獨立運行的。

    3畫一個單坐標系折線圖

    效果如下:

    import matplotlib import matplotlib.pyplot as plt# 創(chuàng)建畫布,figsize決定畫布大小,長和寬,dpi決定圖像的清晰程度 plt.figure(figsize=(20,6),dpi=100) # 正常顯示中文 matplotlib.rcParams['font.sans-serif']=['SimHei'] # 用黑體顯示中文 matplotlib.rcParams['axes.unicode_minus']=False # 正常顯示負號# 繪制圖像 x = [0,1,2,3,4,5,6,7,8,9] y = [0,6,3,7,3,8,9,5,3,2] # 注意!!如果y里面的元素是str類型,要先轉(zhuǎn)成int或float才可以正常畫圖 plt.plot(x,y)# 修改x,y軸刻度顯示 plt.xticks(range(0,10,1)) # x軸刻度從0到10(不包括10)一個一個顯示 plt.yticks(range(0,10,2)) # y軸刻度從0到10(不包括10)兩個兩個顯示# 把圖像保存到指定位置,這一句一定要放在show前面 plt.savefig("路徑/文件名.png")# 顯示圖像 plt.grid(True,linestyle='--',alpha=0.5) # true表示添加網(wǎng)格,linestyle表示網(wǎng)格線的樣式,alpha表示網(wǎng)格線透明度 plt.xlabel("這里是橫軸/單位") plt.ylabel("這里是縱軸/單位") plt.title("這里是標題", fontsize=20) # fontsize調(diào)節(jié)標題大小 plt.show()

    4畫一個單坐標系多折線圖

    效果如下:

    import matplotlib import matplotlib.pyplot as plt# 創(chuàng)建畫布,figsize決定畫布大小,長和寬,dpi決定圖像的清晰程度 plt.figure(figsize=(20,6),dpi=100) # 正常顯示中文 matplotlib.rcParams['font.sans-serif']=['SimHei'] # 用黑體顯示中文 matplotlib.rcParams['axes.unicode_minus']=False # 正常顯示負號# 繪制圖像 x = [0,1,2,3,4,5,6,7,8,9] y1 = [0,6,3,7,3,8,9,5,3,2] y2 = [2,5,2,7,5,4,6,5,4,4] # 畫幾條線就寫幾個plot,color設(shè)置顏色,-是直線,--是虛線 plt.plot(x,y1,color='g',linestyle='-',label="第一次實驗") plt.plot(x,y2,color='r',linestyle='--',label="第二次實驗") plt.legend(loc ="best") # loc一般默認為best,表示label的位置# 修改x,y軸刻度顯示 plt.xticks(range(0,10,1)) # x軸刻度從0到10(不包括10)一個一個顯示 plt.yticks(range(0,10,2)) # y軸刻度從0到10(不包括10)兩個兩個顯示# 顯示圖像 plt.grid(True,linestyle='--',alpha=0.5) # true表示添加,linestyle表示網(wǎng)格線的樣式,alpha表示網(wǎng)格線透明度 plt.xlabel("這里是橫軸/單位") plt.ylabel("這里是縱軸/單位") plt.title("這里是標題", fontsize=20) # fontsize調(diào)節(jié)標題大小 plt.show()

    5畫一個多坐標系折線圖

    效果如下:

    import matplotlib import matplotlib.pyplot as plt# 創(chuàng)建多坐標系畫布,ncols表示坐標系個數(shù),figsize決定畫布大小,長和寬,dpi決定圖像的清晰程度 fig,axes = plt.subplots(nrows=1,ncols=2,figsize=(20,6),dpi=100) matplotlib.rcParams['font.sans-serif']=['SimHei'] # 用黑體顯示中文 matplotlib.rcParams['axes.unicode_minus']=False # 正常顯示負號# 繪制圖像 x = [0,1,2,3,4,5,6,7,8,9] y1 = [0,6,3,7,3,8,9,5,3,2] y2 = [2,5,2,7,5,4,6,5,4,4]# 把單坐標系中的plt改成axes[i] axes[0].plot(x,y1,color='g',linestyle='-',label="第一次實驗") axes[1].plot(x,y2,color='r',linestyle='--',label="第二次實驗")# 在單坐標系中所有的設(shè)置都要多份 axes[0].legend(loc ="best") axes[0].grid(True,linestyle='--',alpha=0.5) axes[0].set_xlabel("橫軸/單位") axes[0].set_ylabel("縱軸/單位") axes[0].set_title("標題", fontsize=20)axes[1].legend(loc ="best") axes[1].grid(True,linestyle='--',alpha=0.5) axes[1].set_xlabel("橫軸/單位") axes[1].set_ylabel("縱軸/單位") axes[1].set_title("標題", fontsize=20)plt.show()

    總結(jié)

    以上是生活随笔為你收集整理的python-matplotlib制作图表与中文正常显示的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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