我有图y = tan(x)
,我想删除垂直线(见下文)。在
这是我的代码:
import numpy as np
import matplotlib.pyplot as plt
# Choose evenly spaced x intervals
x = np.arange(-2*np.pi, 2*np.pi, 0.1)
# plot y = tan(x)
plt.plot(x, np.tan(x))
# Set the range of the axes
plt.axis([-2*np.pi, 2*np.pi, -2, 2])
# Include a title
plt.title('y = tan(x)')
# Optional grid-lines
plt.grid()
# Show the graph
plt.show()
以下是图表(包括不需要的垂直线):
我可以删除垂直线而不在x间隔中设置适当的间距吗?在
我们可以使用切线的定义来过滤掉
x
的余弦与0
非常接近的点。在这仅适用于等间距数据。在
您可以使用^{} 检查连续数据点之间的差异,然后确定差异在哪里为负,并用
NaN
替换这些值,以便在绘制的直线上创建一个可视的分隔符如果您愿意承担更强大的数学程序的开销,SageMath可以帮助您:
(原点处的小开口是我以前从未见过的,希望很快会再次修复。)
相关问题 更多 >
编程相关推荐