Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在图形中的某个函数上设置域?_Python_Numpy_Matplotlib_Plot - Fatal编程技术网

Python 如何在图形中的某个函数上设置域?

Python 如何在图形中的某个函数上设置域?,python,numpy,matplotlib,plot,Python,Numpy,Matplotlib,Plot,我有一个在Python上绘制两个函数图的代码。我只是想知道是否有一种方法可以让我的x函数只在0到0.8之间的域上,这样它就不会在与h相交后继续,但我仍然希望h继续。有什么办法可以修改这个吗?谢谢这是我的代码: import matplotlib.pyplot as plt import numpy as np from matplotlib.legend_handler import HandlerLine2D t = np.arange(0.0, 1.0, 0.001) h = 0.1*np

我有一个在Python上绘制两个函数图的代码。我只是想知道是否有一种方法可以让我的x函数只在0到0.8之间的域上,这样它就不会在与h相交后继续,但我仍然希望h继续。有什么办法可以修改这个吗?谢谢这是我的代码:

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.legend_handler import HandlerLine2D

t = np.arange(0.0, 1.0, 0.001)
h = 0.1*np.sin(10*t)
x = 4*t-5*t**2

line1, = plt.plot(t, h, label='h(t)')
line2, = plt.plot(t, x, label='x(t)', linestyle='--')

plt.legend(handler_map={line1: HandlerLine2D(numpoints=4)})

plt.xlabel('time')
plt.ylabel('height')
plt.title('Fig 1.')
plt.grid(False)
plt.savefig("Plot.png")
plt.show()   
这就是它的样子:


只需对两个阵列进行切片:

line2, = plt.plot(t[t<0.8], x[t<0.8], label='x(t)', linestyle='--')

line2,=plt.plot(t[t最简单的方法是使用另一个
t
no?类似于
t\u h=np.arange(0.0,080,0.001)
很高兴我能提供帮助。请将答案标记为正确。