擅长:python、mysql、java
<p>下面的代码不使用临时变量<code>xs</code>和<code>ys</code>,而是一个直接的元组解包。另外,我从<code>points</code>列表中添加第一个点来完成形状。在</p>
<pre><code>rectangle = [(0,0),(0,1),(1,1),(1,0)]
hexagon = [(0,0),(0,1),(1,2),(2,1),(2,0),(1,-1)]
l_shape = [(0,0),(0,3),(1,3),(1,1),(3,1),(3,0)]
concave = [(0,0),(0,3),(1,3),(1,1),(2,1),(2,3),(3,3),(3,0)]
for points in [rectangle, hexagon, l_shape, concave]:
plt.plot(*zip(*(points+points[:1])), marker='o')
automin, automax = plt.xlim()
plt.xlim(automin-0.5, automax+0.5)
automin, automax = plt.ylim()
plt.ylim(automin-0.5, automax+0.5)
plt.show()
</code></pre>
<p>提供这个答案作为另一个LeekaiInsky的帖子</p>