admin管理员组文章数量:1794759
matplotlib
matplotlib spines 设置
- 简介
- 隐藏图脊
- 设置图脊位置
- 参考
简介
在 Matplotlib 中,Spine 指绘图区四周的边界线(这里姑且将其翻译为图脊),如下图所示。
使用 Axes.spines
更改图脊的属性。实现诸如删除顶部和右侧的图脊,或者将左侧图脊移动原点等功能。
Axes.spines
属性是一个字典对象,通过 right
, left
, top
, bottom
键可以访问各个方位的图脊。
隐藏图脊
使用 set_color
将图脊的颜色设置为 None
,可以隐藏图脊,例如,绘制一个简单的线性图:
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0, 2, 100)fig, ax = plt.subplots()ax.plot(x, x, label="linear")plt.xlabel('x label')
plt.ylabel('y label')
plt.title("Simple Plot")plt.legend()
plt.show()
下面移除右侧和上面的图脊:
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0, 2, 100)fig, ax = plt.subplots()ax.plot(x, x, label="linear")ax.spines['right'].set_color('none') // 隐藏右侧图脊
ax.spines['top'].set_color('none') // 隐藏上面图脊plt.xlabel('x label')
plt.ylabel('y label')
plt.title("Simple Plot")plt.legend()
plt.show()
设置图脊位置
使用 set_position()
方法设置图脊位置,其参数为 tuple 类型 ,包含两个需要设置的值 (position_type, amount)
。一个是位置类型:
- ‘outward’,将图脊向图形区域外移动;
- ‘axes’,将图脊放在指定的 Axes 坐标(0到1之间);
- ‘data’,将图脊放在指定的数据坐标位置。
另外还有两个特殊值:
- ‘center’ 表示 (‘axes’, 0.5)
- ‘zero’ 表示 (‘data’, 0.0)
下面我们绘制一个二次曲线图:
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(-1, 3, 100)
y = (x - 1) ** 2fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)ax.spines['right'].set_color('none') # 隐藏右侧图脊
ax.spines['top'].set_color('none') # 隐藏上面图脊# plot the function
plt.plot(x, y, 'r')# show the plot
plt.show()
然后我们将左侧图脊移到 0 位置:
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(-1, 3, 100)
y = (x - 1) ** 2fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)ax.spines['left'].set_position('zero') # 额外添加行ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')# plot the function
plt.plot(x, y, 'r')# show the plot
plt.show()
参考
- matplotlib User’s Guide
本文标签: matplotlib
版权声明:本文标题:matplotlib 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1692520856a142232.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论