ResysChina 2017-12-06
本次会讲解如何修改坐标轴的位置。
要修改轴,就要先得到当前轴:plt.gca(),这个函数名挺怪的,其实是如下英文字母的首字母:get current axis,也就是得到当前的坐标轴。
import numpy as np import pandas as pd import matplotlib.pyplot as plt # 生成x轴上的数据:从-3到3,总共有50个点 x = np.linspace(-1, 1, 50) # 定义一个线性方程 y1 = 2 * x + 1 # 定义一个二次方程 y2 = x ** 2 # 设置x轴的取值范围为:-1到2 plt.xlim(-1, 2) # 设置y轴的取值范围为:-1到3 plt.ylim(-1, 3) # 设置x轴的文本,用于描述x轴代表的是什么 plt.xlabel("I am x") # 设置y轴的文本,用于描述y轴代表的是什么 plt.ylabel("I am y") # 设置x刻度:从-1到2,总共5点 new_ticks = np.linspace(-1, 2, 5) plt.xticks(new_ticks) # 设置y刻度:用文字来显示刻度 plt.yticks([-2, -1.8, -1, 1.22, 3], [r'$really\ bad$', r'$bad\alpha$', 'normal', r'$good$', 'really good']) # 得到当前轴 ax = plt.gca() # 当前轴中有4个脊梁,这里把右边的脊梁设置成none ax.spines['right'].set_color('none') # 把上面的脊梁也设置成none ax.spines['top'].set_color('none') # 把下面的脊梁用作x轴 ax.xaxis.set_ticks_position('bottom') # 把左边的脊梁用作y轴 ax.yaxis.set_ticks_position('left') # 设置下面脊梁原点位置 ax.spines["bottom"].set_position(('data', -1)) # 设置左边脊梁的原点位置 ax.spines["left"].set_position(("data", 0)) plt.plot(x, y2) # 绘制红色的线宽为1虚线的线条 plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--') # 显示图表 plt.show()
显示图为: