python数据分析工具之 matplotlib详解
不论是数据挖掘还是数学建模,都免不了数据可视化的问题。对于 Python 来说,matplotlib 是最著名的绘图库,它主要用于二维绘图,当然也可以进行简单的三维绘图。它不但提供了一整套和 Matlab 相似但更为丰富的命令,让我们可以非常快捷地用 python 可视化数据。
matplotlib基础
# 安装
pip install matplotlib
两种绘图风格:
MATLAB风格:
基本函数是 plot,分别取 x,y 的值,然后取到坐标(x,y)后,对不同的连续点进行连线。
面向对象:
创建一个图形 fig 和一个坐标 ax 。
- fig:figure(plt.Figure) 是一个能容纳各种坐标轴,图形,文字和标签的容器。
- ax:axes(plt.Axes) 是一个带有刻度和标签的矩形,最终会包含各种可视化元素。
示例:
import matplotlib.pyplot as plt import numpy as np # 图形显示风格 plt.style.use('seaborn-whitegrid') # 创建fig和ax fig = plt.figure() ax = plt.axes() x = np.linspace(0,10,100) # 显示sin函数图形 plt.plot(x, np.sin(x)) # 显示cos函数图形 plt.plot(x, np.cos(x)) plt.show()
绘图样式
文字设置
图形标题:plt.title
坐标轴标题:plt.xlabel, plt.ylabel
基础图例:plt.legend
注意:对中文不友好,需要额外方法,尽量使用英文
# 示例 import matplotlib.pyplot as plt import numpy as np x = np.linspace(1, 10, 100) plt.plot(x, np.sin(x)) plt.title('sin-function') plt.xlabel('x-value') plt.ylabel('y-label') plt.show()
颜色条
import matplotlib.pyplot as plt import numpy as np x = np.linspace(1, 10, 100) I = np.sin(x) * np.cos(x[:,np.newaxis]) plt.imshow(I) plt.colorbar() plt.show()
散点图基础
散点图主要以点为主,数据是不连续的数据,通过设置线的型号来完成。型号包括‘o'、‘+'、‘*'、‘1'、‘h'、‘D'等等,具体使用探索一下就好,用不到太多。
import matplotlib.pyplot as plt import numpy as np # 图形显示风格 plt.style.use('seaborn-whitegrid') x = np.linspace(0, 10, 30) y = np.sin(x) # 通过设置线型为点来完成散点图的绘制 plt.plot(x, y, 'o', color='blue') plt.show()
连续误差线表示的是连续量,可以使用 plt.plot 和 plt.fill_between 来画出。
import matplotlib.pyplot as plt import numpy as np # 图形显示风格 plt.style.use('seaborn-whitegrid') x = np.linspace(0, 10, 30) ysin = np.sin(x) ycos = np.cos(x) plt.plot(x, ysin, color='red') plt.plot(x, ycos, color='blue') plt.fill_between(x, ysin, ycos, color='gray', alpha=0.2) plt.show()