python - 给3分和一个情节圈

标签 python matplotlib plot

我想将点 [0,1]、[1,0] 和 [0,-1] 赋给 python 并绘制经过它们的圆。是否存在一个 python 模块可以做到这一点?我试过使用 matplotlib:

import matplotlib.pyplot as plt
plt.plot([0,1,0],[1,0,-1])
plt.show()

但只给了我两行。

最佳答案

有一个“代码高尔夫”问题与此完全匹配(除了要求圆的方程,而不是绘制它)——参见 https://codegolf.stackexchange.com/questions/2289/circle-through-three-points .将第一个也是最短的 (Python) 解决方案分解为更易读、更简单的形式以匹配您的确切规范 - 但保留使用复数进行更简单计算的核心思想:

x, y, z = 0+1j, 1+0j, 0-1j
w = z-x
w /= y-x
c = (x-y)*(w-abs(w)**2)/2j/w.imag-x
print '(x%+.3f)^2+(y%+.3f)^2 = %.3f^2' % (c.real, c.imag, abs(c+x))

好的,这仍然是“打印方程式”而不是“绘制圆”,但是,我们越来越接近了:-)。要在 matplotlib 中实际绘制 圆,参见例如 plot a circle with pyplot -- 在上面的解决方案中,c 是圆的(取反的)圆心(作为复数,因此使用 .real 和 .imag 作为 x/y 坐标),abs (c+x) 半径(一个实数,abs 使其如此)。

关于python - 给3分和一个情节圈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28910718/

相关文章:

python - 如果行/列数是特定数字(通常是素数),Matplotlib pcolor/pcolormesh 就会崩溃

python - 使用 1 个绘图函数绘制多个 csv 文件

python - numpy 在一行中找到最大值并返回到它的列索引

python - 计算 pandas dataframe 对象中每个唯一实体的值

python - x 和 y 必须具有相同的第一维,但具有形状 (1,) 和 (6,)

python - 嵌入 matplotlib 图形并更改其大小

python - 如何在 PyQtGraph 中绘制音频波形

R - 如何使用一个向量的内容作为绘图中的符号?

python - 使用列表 if 语句填充字典

python - 如何使用 sklearn.metrics 计算多标签分类任务的微观/宏观度量?