1)我想在一条线上放置一个标记,(在两点之间)与线的长度有关。
2)我想知道这个点/标记的坐标。
import matplotlib.pyplot as plt
import math
x1 = 0
x2 = 9
y1 = 5
y2 = 7
plt.plot((x1, x2), (y1, y2))
lenghtline1 = math.sqrt((x1-x2)**2 + (y1-y2)**2)
这两点之间的距离是9.2,
如何将标记放在第2行的点(两点之间)到6?
我怎么知道这个标记的坐标(x,y)? 谢谢
答案 0 :(得分:0)
距离len
到第一个点的点将具有坐标
x = x1 + (x2-x1) * len / lenghtline1
y = y1 + (y2-y1) * len / lenghtline1
答案 1 :(得分:0)
from pylab import *
from scipy import interpolate
x = rand(21).cumsum() # create some 21 random x values
y = rand(len(x)) # the corresponding y values
plot(x, y, ".-")
xc = x[:-1] + diff(x)/2.
yc = interpolate.interp1d(x, y, kind="linear")(xc) # (xc, yc) are the marker positions
lengths = sqrt(diff(x)**2 + diff(y)**2) # lengths of the sections
scatter(xc,yc,c=cm.gray(lengths/lengths.max()), s=40) # visualization
show()