【发布时间】:2016-04-09 22:42:25
【问题描述】:
我正在学习线性代数,并希望能够画线来测试事物。我通常对在图表上绘制一条线((i,j),(k,l))的函数感兴趣。我将使用 numpy.
我的大部分行都是从 (0,0) 到 (k, l)。
我可以手动输入一些基本的东西,效果很好:
import random
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
plt.plot([0, 1], [0, 1])
plt.show()
plt.plot([0, 1], [0, 1], [0, 3], [0, 1])
plt.show()
但是现在,如果我想从 (0,0) 绘制到一组点 xy,这些点由均匀分布的随机抽样生成,我很困惑如何轻松地重构这些数据,以便它对 matplotlib 有意义。我确信必须有一个好的“pythonic”方式来做到这一点。
x = np.random.uniform(0, 100, 5)
y = np.random.uniform(0, 100, 5)
zeros = zip(np.zeros(5), np.zeros(5)) # 5 pairs at the origin
xy = zip(x, y) # 5 pairs elsewhere
print xy
print zeros
plt.plot(xy)
plt.show()
显然, plot(xy) 甚至没有接近正确的答案!如何以最直接的方式将zeros 中的 5 个点与xy 中的 5 个点连成一条线?
【问题讨论】:
-
等等,所以你只想要从原点 x=0,y=0 开始的随机行?
标签: python numpy matplotlib