【发布时间】:2010-08-09 11:44:38
【问题描述】:
如何在 matplotlib 中添加一个小实心圆圈或指向计数图?
【问题讨论】:
标签: python matplotlib
如何在 matplotlib 中添加一个小实心圆圈或指向计数图?
【问题讨论】:
标签: python matplotlib
这里是一个例子,使用pylab.Circle:
import numpy as np
import matplotlib.pyplot as plt
e = np.e
X, Y = np.meshgrid(np.linspace(0, 5, 100), np.linspace(0, 5, 100))
F = X ** Y
G = Y ** X
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
circ = plt.Circle((e, e), radius=0.07, color='g')
plt.contour(X, Y, (F - G), [0])
ax.add_patch(circ)
plt.show()
还有来自文档的here is another example(虽然不是等高线图)。
或者,您可以使用plot:
import numpy as np
import matplotlib.pyplot as plt
e = np.e
X, Y = np.meshgrid(np.linspace(0, 5, 100), np.linspace(0, 5, 100))
F = X ** Y
G = Y ** X
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
plt.contour(X, Y, (F - G), [0])
plt.plot([e], [e], 'g.', markersize=20.0)
plt.show()
【讨论】:
F = X ** Y G = Y ** X 这是一个
X 和 Y 是形状为 (100, 100) 的 NumPy 数组。 ** 是幂运算符。 NumPy 数组上的算术运算是按元素执行的。所以X ** Y 是X 的Y 次幂的幂,对X 中的每个元素和Y 中的相应元素进行。在 Python 解释器中尝试一下,也许X 和Y 的数组更小,这样结果更容易看到。
x^y = y^x 的根。这是显而易见的解决方案,直线x = y。但是还有一条曲线,如上所示。