matplotlib
matplotlib概述
matplotlib是python的一个绘图库。使用它可以很方便的绘制出版质量级别的图形。
matplotlib基本功能
- 基本绘图 (在二维平面坐标系中绘制连续的线)
- 设置线型、线宽和颜色
- 设置坐标轴范围
- 设置坐标刻度
- 设置坐标轴
- 图例
- 特殊点
- 备注
- 图形对象(图形窗口)
- 子图
- 刻度定位器
- 刻度网格线
- 半对数坐标
- 散点图
- 填充
- 条形图
- 饼图
- 等高线图
- 热成像图
- 三维曲面
- 简单动画
matplotlib基本功能详解
基本绘图
案例:绘制一条余弦曲线
import numpy as np
import matplotlib.pyplot as plt
# xarray: <序列> 水平坐标序列
# yarray: <序列> 垂直坐标序列
plt.plot(xarray, yarray)
#显示图表
plt.show()
绘制水平线与垂直线:
import numpy as np
import matplotlib.pyplot as plt
# vertical 绘制垂直线
plt.vlines(vval, ymin, ymax, ...)
# horizotal 绘制水平线
plt.hlines(xval, xmin, xmax, ...)
#显示图表
plt.show()
线型、线宽和颜色
案例:绘制一条正弦曲线
#linestyle: 线型 '-' '--' '-.' ':'
#linewidth: 线宽
# 数字
#color: <关键字参数> 颜色
# 英文颜色单词 或 常见颜色英文单词首字母 或 #495434 或 (1,1,1) 或 (1,1,1,1)
#alpha: <关键字参数> 透明度
# 浮点数值
plt.plot(xarray, yarray, linestyle='', linewidth=1, color='', alpha=0.5)
代码:
import numpy as np
from matplotlib import pyplot as plt
x = np.linspace(-np.pi, np.pi, 1000)
y1 = np.sin(x)
y2 = np.cos(x)/2
# linestyle线型: '-', '--', '-.', ':'
# linewidth线宽
# color颜色: 英文颜色单词 或 常见颜色英文单词首字母 或 #495434 或 (1,1,1) 或 (1,1,1,1)
# alpha透明度
plt.plot(x, y1, linestyle='--', linewidth=2, color='b', alpha=0.5)
plt.plot(x, y2, linestyle='-.', linewidth=2, color='red', alpha=0.5)
# 绘制垂直线
plt.vlines(np.pi/2, -1.2, 1.2, linestyle='--', linewidth=1, color='#495434', alpha=0.5)
# 绘制水平线
plt.hlines(1, -np.pi, np.pi, linestyle='--', linewidth=1, color=(0.3,0.1,0.5), alpha=0.5)
plt.hlines(-1, -np.pi, np.pi, linestyle='--', linewidth=1, color=(0.3,0.1,0.5,0.1), alpha=0.5)
设置坐标轴范围
案例:把坐标轴范围设置为 -π ~ π
#x_limt_min: <float> x轴范围最小值
#x_limit_max: <float> x轴范围最大值
plt.xlim(x_limt_min, x_limit_max)
#y_limt_min: <float> y轴范围最小值
#y_limit_max: <float> y轴范围最大值
plt.ylim(y_limt_min, y_limit_max)
设置坐标刻度
案例:把横坐标的刻度显示为:0, π/2, π, 3π/2, 2π
#x_val_list: x轴刻度值序列
#x_text_list: x轴刻度标签文本序列 [可选]
plt.xticks(x_val_list , x_text_list )
#y_val_list: y轴刻度值序列
#y_text_list: y轴刻度标签文本序列 [可选]
plt.yticks(y_val_list , y_text_list )
刻度文本的特殊语法 – LaTex排版语法字符串
r'$x^n+y^n=z^n$', r'$\int\frac{1}{x} dx = \ln |x| + C$', r'$-\frac{\pi}{2}$'
x 2 + y 2 = z 2 , ∫ 1 x d x = ln ∣ x ∣ + C , − π 2 x^2+y^2=z^2, \int\frac{1}{x} dx = \ln |x| + C, -\frac{\pi}{2} x2+y2=z2,∫x1dx=ln∣x∣+C,−2π