我有一个图表,由.txt文件中的数据组成.目前,Matplotlib会将其绘制到我文件的最后一点.我需要它继续那么远.我似乎记得在某个地方说我可以让一条线继续无限. (我在使用微积分和限制时并不意味着无穷大,我只是指屏幕的一条线,直到图的边缘.)
现在,我知道如果我有一个曲线图,这将是不准确的,因为该线将永远以最后一个数据点的角度继续.但是,由于我有一个直线图,这将是理想的.
有谁知道这是否可能,如果可能,怎么样?我做过研究,不记得我在哪里看到doc条目说我可以做到这一点,所以如果有人能说清楚这一点,我真的很感激.
解决方法
从一个到hacky的规模,这是非常hacky,但你可以问matplotlib该情节的当前界限是什么
import matplotlib.pyplot as plt plt.plot([0,10],[0,10]) plt.axis()
收益:
(0.0,10.0,0.0,10.0)
这是超级笨重的,但你可以找出最后两个点的线的方程,然后找出该线与边界框相交的位置.然后绘制从最后一点到BB的一条线.
编辑:
新想法,略显笨重.延伸最后两点的线,然后将轴设置回原来的位置.
import numpy import matplotlib.pyplot as plt X = [0,1,2] Y = [4,6,4] plt.plot(X,Y) axes = plt.axis() plt.plot([X[-2],X[-2]+1000*(X[-1]-X[-2])],[Y[-2],Y[-2]+1000*(Y[-1]-Y[-2])]) plt.xlim( [axes[0],axes[1]]) plt.ylim( [axes[2],axes[3]]) plt.show()