最近需要用到matplotlib来绘图,之前没接触过只能加快速度学习一下。
Matplotlib 可能是 Python 2D-绘图领域使用最广泛的套件。它可以轻松地将数据图形化,并且提供多样化的输出格式。
1.设置名称、大小、绘制样式、颜色、线宽
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-3, 3, 50)
y1 = 2*x + 1
y2 = x**2
plt.figure()
plt.plot(x, y1)
# plot:绘制出来是直线
# scatter: 绘制出是 点
num:figure名称
figsize:调整大小
plt.figure(num=3, figsize=(1,2))
plt.plot(x, y2)
设置颜色、线宽、线的样式(虚线)
plt.plot(x, y1, color='red',linewidth=3.0,linestyle='--')
2、设置座标轴取值范围
plt.xlim((-1, 2))
plt.ylim((-2, 3))
3、描述x轴y轴是什么东西
plt.xlabel('I am x')
plt.ylabel('I am y')
4、换单位:小标换成-1 - 2, 分5个单位
new_ticks = np.linspace(-1,2,5)
print(new_ticks)
plt.xticks(new_ticks)
5、y轴修改成好看的字体
- y轴换成文字
- 修改成好看的字体
- 机器能读 $ \ $ --- r'$really\ good$'
- 数学形势的a ---\alpha --- r'$bad \ \alpha$'
plt.yticks([-2, -1.8, -1, 1.22, 3,],
[r'$really\ good$', r'$bad\ \alpha$', r'$normal$', r'$good$', r'$5good$'])
6、修改座标图的位置
gca = 'get current axis' 取出当前绘制的轴
ax = plt.gca()
设置它的脊梁: 即4个边框
设置右边、上边消失
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
7、x轴、y轴用哪一个轴代替
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
x轴用下面的轴代替
y轴用左边轴代替
8、挪动x和y的位置
横座标位置 = 纵座标值的-1位置
ax.spines['bottom'].set_position(('data',-1))
上面的data位置---有不同的参数:
1.outward
2.axes 定位到y的百分之多少的位置
ax.spines['bottom'].set_position(('axes',0.2))
<!--相当于位于y的20%处-->
ax.spines['left'].set_position(('data',0))
9、区分每个图片中不同的数据(做图例)
- label: 设置名字
- 这里l1, l2 如果要传入handles, 必须加逗号,这是matplotlib的特殊形式
l1, = plt.plot(x, y2, label='up')
l2, = plt.plot(x, y1, label='down', color='yellow', linewidth=1.0, linestyle='--')
- loc='best' :自动找没有数据的地方放置 upper right...
- handles=[]: 存放放入图例的线
plt.legend(handles=[l1, l2,], labels=['aaa', 'bbb'], loc='best')
然后没有什么问题就可以显示啦。
plt.show()