首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python:从x轴上的点(X1,0)到点(X2,Y2)绘制直线的问题

Python:从x轴上的点(X1,0)到点(X2,Y2)绘制直线的问题
EN

Stack Overflow用户
提问于 2019-04-15 03:02:42
回答 1查看 44关注 0票数 1

我在X轴上有点,我想做从每个点到另一个点(X2,Y2)的直线。

这段代码是用于从Y=35到X点(P)的蓝线,它可以工作

代码语言:javascript
复制
pos_fixed = np.array([0, TR])
lines = np.array([[[pos, 0], pos_fixed] for pos in P])
line_coll = LineCollection(lines)

fig, ax = plt.subplots()
ax.add_collection(line_coll)

plt.xlim([0, lines[:,:,0].max()])
plt.ylim([0, lines[:,:,1].max()])
plt.xlabel('Oś')
plt.ylabel('Promień')
plt.show()

下面是代码,它应该完成我在开始描述的内容:

代码语言:javascript
复制
for s in range(len(P)-1):
    position = np.array([P[s], 0])
    lines = np.array([[position, [x2[s], y2[s]]]])
    line_coll = LineCollection(lines)
    fig, ax = plt.subplots()
    ax.add_collection(line_coll)
    plt.xlim([0, lines[:,:,0].max()])
    plt.ylim([0, lines[:,:,1].max()])
plt.show()

我的期望在附图上(我有红色和紫色的点,我不知道如何做绿色线条)。

这段代码(第二段)显示了几十个图表(每条绿色的线都是单独的),并且不包括(我希望)前面的代码/前面的图表。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-15 04:04:24

您将在每个循环上创建一个图形。您可以首先设置图形,然后在for循环中添加行。重新排列代码,如下所示:

代码语言:javascript
复制
# create the figure
fig, ax = plt.subplots()
plt.xlim([0, lines[:,:,0].max()])
plt.ylim([0, lines[:,:,1].max()])

# lines from the first part of the question
pos_fixed = np.array([0, TR])
lines = np.array([[[pos, 0], pos_fixed] for pos in P])
line_coll = LineCollection(lines,colors='blue')
ax.add_collection(line_coll)
plt.xlabel('Oś')
plt.ylabel('Promień')


# lines for the second part
for s in range(len(P)-1):
    position = np.array([P[s], 0])
    lines = np.array([[position, [x2[s], y2[s]]]])
    line_coll = LineCollection(lines,colors='green')
    ax.add_collection(line_coll)

plt.show()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55678968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档