matplotlib_basic_设置坐标轴2

本文介绍如何移动matplotlib 中 axis 坐标轴的位置,使用.spines设置边框:x轴,y轴;使用.set_position设置边框位置:x=0,y=0的位置;使用.xaxis.set_ticks_position设置x坐标刻度数字或名称的位置;使用.yaxis.set_ticks_position设置y坐标刻度数字或名称的位置


Demo.py

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, y2)
plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')
plt.xlim((-1, 2))
plt.ylim((-2, 3))

new_ticks = np.linspace(-1, 2, 5)
plt.xticks(new_ticks)
plt.yticks([-2, -1.8, -1, 1.22, 3],['$really\ bad$', '$bad$', '$normal$', '$good$', '$really\ good$'])

ax = plt.gca()#使用plt.gca获取当前坐标轴信息
ax.spines['right'].set_color('none')#使用.spines设置边框:右侧边框;使用.set_color设置边框颜色:默认白色
ax.spines['top'].set_color('none')#使用.spines设置边框:上边框;使用.set_color设置边框颜色:默认白色

plt.show()#figure1
ax.xaxis.set_ticks_position('bottom')#使用.xaxis.set_ticks_position设置x坐标刻度数字或名称的位置:bottom.(所有位置:top,bottom,both,default,none)
ax.spines['bottom'].set_position(('data', 0))#使用.spines设置边框:x轴;使用.set_position设置边框位置:y=0的位置;(位置所有属性:outward,axes,data)
plt.show()#figure2

ax.yaxis.set_ticks_position('left')#使用.yaxis.set_ticks_position设置y坐标刻度数字或名称的位置:left.(所有位置:left,right,both,default,none)
ax.spines['left'].set_position(('data',0))#使用.spines设置边框:y轴;使用.set_position设置边框位置:x=0的位置;(位置所有属性:outward,axes,data)
plt.show()#figure3


结果:

Paste_Image.png
Paste_Image.png
Paste_Image.png

推荐阅读更多精彩内容

  • Matplotlib安装 MacOS Linux 基本用法 Module的导入: 画出一条直线: 使用plt.fi...
    Sun_atom阅读 566评论 0 0
  • 感恩王先森下了班,推掉所有的应酬,回家带女儿陪女儿。女儿一句爸爸给我炸薯条吃吧,他就在厨房开始了忙碌,从未做过炸薯...
    A曼均阅读 96评论 0 0
  • 也谈绝妙好诗· 田秀 诗的好再加上绝妙,那是多少为诗者毕生追求的目标.何以求之? 是呀!有人说过诗不是写出来的,是...
    兴安居士阅读 89评论 0 2
  • 其实每天打卡就是对自己的监督 周末带娃 累死亲妈啊 画个小画 简单就是最美好
    墨墨发光阅读 151评论 0 2
  • 昨晚和妻去三里河公园遛弯回来,妻在公园里遇到了这三棵艾草,于是就高兴地采了回来,插在门上了。 可是,我却在这艾草上...
    语文行者阅读 330评论 8 9