Python繪圖之詳解matplotlib
一、matplotlib介紹
matplotlib是python從matlab繼承的繪圖庫,可以滿足大部分的日常使用,是目前最流行的底層繪圖庫。
二、matplotlib的使用
(一)導入模塊【中文顯示】
顯示中文方面mac和windows根據自己電腦系統選一個即可
import matplotlib.pyplot as plt # 顯示中文(mac) from matplotlib.font_manager import FontManager fm = FontManager() mat_fonts = set(f.name for f in fm.ttflist) print(mat_fonts) plt.rcParams['font.sans-serif'] = ['Arial Unicode MS'] #顯示中文(windows) from pylab import mpl #以黑體顯示中文 mpl.rcParams['font.sans-serif']=[SimHei] #解決保存圖像是負號 顯示為方塊的問題 mpl.rcParams['axes.unicode_minus']=False # 導入numpy 方便下面繪圖展示 import numpy as np
(二)畫佈與畫板,簡單繪圖
和現實世界繪圖一樣,在matplotlib裡繪圖我們也需定義畫佈和畫板,其中一個畫佈裡可以存在多個畫板。在繪圖時首先要指明在哪個畫板上繪圖。
# 建立一張畫佈 其中包括2行三列六張畫板 fig,axes=plt.subplots(nrows=2,ncols=3,figsize=(20,8)) # data x為測試數據 np.random.seed(100) data=np.random.randn(50) x=np.arange(50) # 在第一個子圖上做折線圖 axes[0,0].plot(x,data,linestyle='-',color='b',marker='o') # 在第二個子圖上做直方圖 axes[0,1].hist(data,bins=20,facecolor='c') # 在第三個子圖上做垂直條形圖同時加上折線 axes[0,2].bar(x,data) axes[0,2].plot(x,data,linestyle='-.',color='r') # 在第四個子圖上做水平條形圖 axes[1,0].barh(x,data) # 在第五個子圖上做餅圖 explode為突出顯示的部分 explode=[x*0 for x in range(50)] explode[40]=0.1 axes[1,1].pie(data,explode=explode) # 在第六個子圖上做散點圖 explode為突出顯示的部分 axes[1,2].scatter(x,data,c='r',marker='o') plt.show()
(三)添加圖片信息
import matplotlib.pyplot as plt # 顯示中文【mac】 from matplotlib.font_manager import FontManager fm = FontManager() mat_fonts = set(f.name for f in fm.ttflist) print(mat_fonts) plt.rcParams['font.sans-serif'] = ['Arial Unicode MS'] #設置所需數據 age = range(11, 31) jack = [1, 0, 1, 1, 2, 4, 3, 2, 3, 4, 4, 5, 6, 5, 4, 3, 3, 1, 1, 1] tom = [1, 0, 3, 1, 2, 2, 3, 3, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] # dpi為設置像素大小 fig = plt.figure(figsize=(20, 8), dpi=80) # jack與tom11到30交友記錄 plt.plot(age, jack, 'r', label='jack', linestyle='-', linewidth=5, marker='o') plt.plot(age, tom, 'g', label='tom', linestyle='-.', linewidth=5, marker='*') # 設置x軸數據刻度 plt.xticks(age) # 設置x軸數據標簽 plt.xlabel("age", fontsize=20) # 設置y軸數據標簽 plt.ylabel("numbers", fontsize=20) # 設置圖表標題 plt.title("friends made from 11 to 30", fontsize=20) # 設置網格線 plt.grid() # 設置圖例位置 plt.legend(loc=0) # 添加水印 plt.text(30, 2, "交友記錄", fontsize=200, color='black', ha='right', va='bottom', alpha=0.1) # 添加數據標簽 plt.text(23, 6, 'max num', fontsize=20, color='b', verticalalignment='center') #將圖保存到當前目錄 命名為test.png plt.savefig('test.png') plt.show()
到此這篇關於Python繪圖之詳解matplotlib的文章就介紹到這瞭,更多相關python繪圖之matplotlib內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 手把手教你用Matplotlib實現數據可視化
- python數據可視化之matplotlib.pyplot基礎以及折線圖
- python 用matplotlib繪制折線圖詳情
- Python Matplotlib數據可視化模塊使用詳解
- python數據可視化matplotlib繪制折線圖示例