matplotlib的辅助工具,包含一系列对坐标轴设置的框架。其中的axisartist包就用来设置坐标轴的类型。
1.创建画布并引入axisartist工具。
2.绘制带箭头的x-y坐标轴
我们先把原始的如上图的所有坐标轴隐藏,即长方形的四个边。
然后用ax.new_floating_axis在绘图区添加坐标轴x、y,这里的ax.new_floating_axis(0,0),第一个0代表平行直线,第二个0代表该直线经过0点。同样,ax.axis["y"] = ax.new_floating_axis(1,0),则代表竖直曲线且经过0点。
再次,x.axis["x"].set_axisline_style("->", size = 1.0)表示给x轴加上箭头,"->"表示是空箭头,size = 1.0表示箭头大小。ax.axis["y"].set_axisline_style("-|>", size = 1.0)中"-|>"则是实心箭头。
最后,设置x、y轴上刻度显示方向,对于x轴是刻度标签在上面还是下面,y轴则是刻度标签在左边还是右边。
3.在带箭头的x-y坐标轴背景下,绘制函数图像
tist坐标轴工具——将原始坐标轴均隐藏掉——添加新的基于原点的x与y轴——为新坐标轴加入箭头,并设置刻度显示方式——加入图形。
#绘制箭头例子
def arrow():
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.style.use('seaborn-deep')
fig = plt.figure(figsize=(16, 9),dpi=75)
ax = fig.add_subplot(121)
x=np.array([1,2,3,4])
y=np.array([2,4,6,8])
ax.plot(x,y,color = 'b')
ax.annotate("",
xy=(4.5, 9),
xytext=(4, 8),
arrowprops=dict(arrowstyle="->", color="r"))
# 设置X轴、Y轴最大坐标
ax.set_xlim(0, 10)
ax.set_ylim(0, 10)
ax.grid()
ax.set_aspect('equal')
plt.title("趋势展示图")
plt.show()
arrow()