matplotlib 的使用
文档地址
默认规则:
import matplotlib as mpl
import matplotlib.pyplot as plt
解决中文字体缺失
mpl.rcParams['font.sans-serif'] = [u'SimHei']
mpl.rcParams['axes.unicode_minus'] = False
plt
plt.plot
plot(x, y) # xplot x and y using default line style and color
plot(x, y, ‘bo’) # plot x and y using blue circle markers
plot(y) # plot y using x as index array 0…N-1
plot(y, ‘r+’) # ditto, but with red plussesplt.legend
plt.legend(loc=‘lower right’)
plt.grid
plt.show
坐标轴
坐标区间设置
例
import numpy as np import matplotlib.pyplot as plt x = np.arange(-5, 5, 0.01) y = x**3 plt.axis([-6, 6, -10, 10]) plt.plot(x, y) plt.show()
另外一种设置方法
plt.xlim((xmin, xmax)) # 设置x坐标轴的最大最小区间 plt.xlim(xmin, xmax) plt.ylim((ymin, ymax)) # 设置y坐标轴的最大最小区间 plt.ylim(ymin, ymax)
示例代码:
import numpy as np import matplotlib.pyplot as plt x = np.arange(-5, 5, 0.01) y = x**3 plt.plot(x,y) plt.xlim(-6, 6) plt.ylim(-500, 500) plt.show()
设置网格线
plt.grid 函数提供显示网格的选项,在 plot 之后则可以在坐标上显示网格
import numpy as np import matplotlib.pyplot as plt x = np.arange(-5, 5, 0.01) y = x**3 plt.plot(x,y) plt.xlim(-6, 6) plt.ylim(-500, 500) plt.grid(True) plt.show()
自定义坐标轴刻度
自动标注坐标轴刻度
线条
支持的线条形状和标记
character | description |
---|---|
'-' | solid line style |
'--' | dashed line style |
'-.' | dash-dot line style |
':' | dotted line style |
'.' | point marker |
',' | pixel marker |
'o' | circle marker |
'v' | triangle_down marker |
'^' | triangle_up marker |
'<' | triangle_left marker |
'>' | triangle_right marker |
'1' | tri_down marker |
'2' | tri_up marker |
'3' | tri_left marker |
'4' | tri_right marker |
's' | square marker |
'p' | pentagon marker |
'*' | star marker |
'h' | hexagon1 marker |
'H' | hexagon2 marker |
'+' | plus marker |
'x' | x marker |
'D' | diamond marker |
'd' | thin_diamond marker |
‘|’ | vline marker |
'_' | hline marker |
支持的颜色缩写
character | color |
---|---|
‘b’ | blue |
‘g’ | green |
‘r’ | red |
‘c’ | cyan |
‘m’ | magenta |
‘y’ | yellow |
‘k’ | black |
‘w’ | white |
- 标签注释
- 图像排版
subplot
subplot(numRows, numCols, plotNum)
plt.subplot(221) //分成2x2,占用第一个,即第一行第一列的子图
plt.subplot(222)//分成2x2,占用第二个,即第一行第二列的子图
plt.subplot(212)//分成2x1,占用第二个,即第二行