为更方便展示和对比数据,我们需要对坐标轴做出一定的设置。
1. 准备数据
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-3, 3, 50)
y1 = 2*x + 1
y2 = x**2
2. 绘制图像
plt.figure()
plt.plot(x, y2)
# plot the second curve in this figure with certain parameters
plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')
注:plt.plot(x, y, color, linewidth, linestyle),存在多种参数
3. 设置坐标轴标签和显示区域
# set x limits
plt.xlim((-1, 2))
plt.ylim((-2, 3))
plt.xlabel('I am x')
plt.ylabel('I am y')
注:
1.plt.xlim((tuple)):(tuple)为坐标轴的显示区域,同样可设置 y 轴限制
plt.xlabel('text'):设置坐标轴的Label为 ' text ',同样可设置 y 轴标签
4. 自定义坐标轴
# set new sticks
new_ticks = np.linspace(-1, 2, 5)
print(new_ticks)
plt.xticks(new_ticks)
# set tick labels
plt.yticks([-2, -1.8, -1, 1.22, 3],
[r'$really\ bad$', r'$bad$', r'$normal$', r'$good$', r'$really\ good$'])
注:
1.plt.xticks(array):自定义Array使坐标轴仅显示Array指定刻度
2.plt.yticks([array-1],[array-2]):指定坐标轴以Array-2显示Array-1指定刻度
5. 自定义显示框
5.1 隐藏不需要的显示框边界
# gca = 'get current axis'
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
5.2 选定边界为坐标轴并设定位置
ax.xaxis.set_ticks_position('bottom')
# ACCEPTS: [ 'top' | 'bottom' | 'both' | 'default' | 'none' ]
ax.spines['bottom'].set_position(('data', 0))
# the 1st is in 'outward' | 'axes' | 'data'
# axes: percentage of y axis
# data: depend on y data
ax.yaxis.set_ticks_position('left')
# ACCEPTS: [ 'left' | 'right' | 'both' | 'default' | 'none' ]
ax.spines['left'].set_position(('data',0))
plt.show()