目的: 发出 y = x ** 3 / (x * 3 + 1) 的图像
1. 导入matplotlib模块还有numpy模块:
import numpy as np
import matplotlib.pyplot as plt
2. 设置一个x的大致范围, 和y相对应的值域:
x = np.arange(-100, 100, 0.001)
y = x ** 3 / (3 * x + 1)
3. 使用figure创建画布, 把参数传进plot里面:
plt.figure()
plt.plot(x, y, linestyle='--', color='red')
4. 因为这个函数的范围太大, 并且在三分之一处出现断崖分布, 必须得缩小x轴和y轴的范围, 不然画图的误差会相当大:
lt.xlim((-0.6, 0.6))
plt.ylim((-0.6, 0.6))
5. 对图像进行些许的美化:
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))
6. 最后要使用show展示出来:
plt.show()
7. 效果如下:
8. 所用代码:
import numpy as np
import matplotlib.pyplot as pltx = np.arange(-100, 100, 0.001)
y = x ** 3 / (3 * x + 1)plt.figure()
plt.plot(x, y, linestyle='--', color='red')
plt.xlim((-0.6, 0.6))
plt.ylim((-0.6, 0.6))
plt.xlabel('x')
plt.ylabel('y')
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))
plt.show()