用Python生成柱狀圖、折線圖、餅狀圖來統計自己的手機話費

Mike617發表於2019-05-07

環境

  • macOS
  • PyCharm

依賴庫

  • matplotlib
  • numpy

中文字型

步驟詳解

一、配置依賴包

使用pycharm,直接依賴 matplotlib,如果當前環境變數的pip中不包含 matplotlib 庫則會報錯,根據IDE提示自動下載 matplotlib 庫
import matplotlib

二、配置中文字型

下載中文字型檔案 [SimHei](https://www.fontpalace.com/font-details/SimHei/) 並雙擊則安裝到作業系統的字型庫,然後輸入一下程式碼找到 matplotlib 庫的字型目錄

import matplotlib
print(matplotlib.matplotlib_fname())
  1. 參考輸出`/usr/local/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc`
  2. 開啟finder(訪達)並按command+shift+g
  3. 輸入上面得到的路徑並前往
  4. 找到 matplotlib 字型檔案庫,如`/usr/local/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf`
  5. 將下載的SimHei.ttf檔案拷貝到這裡
  6. 找到字型配置檔案 matplotlibrc 可能在`/usr/local/lib/python3.7/site-packages/matplotlib/mpl-data/`目錄下
  7. 修改其中的以下三項
  8. 重新載入字型配置使新增字型生效
matplotlibrc配置
font.family : sans-serif
font.sans-serif : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
axes.unicode_minus:False

重新載入字型配置
from matplotlib.font_manager import _rebuild
_rebuild()

三、準備資料來源

mobile_176xxxx4617 = [6.33, 24.1, 40.7, 47.9, 31.9, 31.4, 41.7, 46.4, 38.9, 39, 48, 47.4]
mobile_155xxxx9617 = [41.4, 36.5, 16.4, 16.6, 16.1, 16, 16, 31.2, 20, 16, 22.1, 16]
mobile_173xxxx9636 = [9.4, 9.1, 9.7, 9.1, 9.2, 9, 9, 9.1, 39, 9, 19.22, 19]
time = ['2018.4', '2018.5', '2018.6', '2018.7', '2018.8', '2018.9', '2018.10', '2018.11', '2018.12', '2019.1', '2019.2', '2019.3']

 四、生成統計圖

  • 柱狀圖 module_histogram.py
  • 折線圖 module_line_graph.py
  • 餅狀圖 module_pie_chart.py

 五、效果預覽圖

柱狀圖

用Python生成柱狀圖、折線圖、餅狀圖來統計自己的手機話費折線圖

用Python生成柱狀圖、折線圖、餅狀圖來統計自己的手機話費餅狀圖

用Python生成柱狀圖、折線圖、餅狀圖來統計自己的手機話費


相關文章