Matplotlib绘图示例
1. 绘制线形图
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
x = np.linspace(-2, 2, 100)
y = x**2
z = np.sqrt(4-x**2)
font = FontProperties(fname='C:/Windows/Fonts/STZHONGS.TTF')
plt.figure(figsize=(4, 4))
plt.plot(x, y, label='$y=^2$', color='red', linewidth=2)
plt.plot(x, z, 'b--', label='$x^2+y^2=4$')
plt.plot(x, -z, 'y--', label='$x^2+y^2=4$')
plt.xlabel('x轴', fontproperties=font)
plt.ylabel('y轴', fontproperties=font)
plt.title('线形图', fontproperties=font)
plt.xlim(-5, 5)
plt.ylim(-5, 5)
plt.legend()
plt.grid()
plt.savefig('pyplot.png', format='png', dpi=500)
plt.show()
线形图绘制结果如下图所示。
2. 绘制坐标轴箭头图像
Matplotlib绘制坐标轴一般没有箭头,只有坐标度,为了满足部分带箭头坐标轴的需要,代码如下。
import matplotlib.pyplot as plt
import mpl_toolkits.axisartist as axisartist
import numpy as np
fig = plt.figure(figsize=(6, 6))
ax = axisartist.Subplot(fig, 111)
fig.add_axes(ax)
ax.axis[:].set_visible(False)
ax.axis['x'] = ax.new_floating_axis(0, 0)
ax.axis['y'] = ax.new_floating_axis(1, 0)
ax.axis['x'].set_axisline_style('-|>', size=1.0)
ax.axis['y'].set_axisline_style('-|>', size=1.0)
ax.axis['x'].set_axis_direction('top')
ax.axis['y'].set_axis_direction('right')
plt.xlim(-10, 10)
plt.ylim(-0.1, 1.2)
x = np.arange(-10, 10, 0.1)
y = 1/(1+np.exp(-x))
plt.plot(x, y, label=r'$sigmoid=\frac{1}{1+e^{-x}}$', c='r')
plt.legend()
plt.savefig('sigmoid.png', format='png', dpi=500)
plt.show()
通过添加新坐标轴,隐藏Matplotlib默认坐标轴,设置新坐标轴的箭头形状,绘制出带箭头的坐标轴。 参考资料:深度学习实战-基于TensorFlow2.0的人工智能开发应用
|