【问题标题】:matplotlib: add circle to plotmatplotlib:在绘图中添加圆圈
【发布时间】:2010-08-09 11:44:38
【问题描述】:

如何在 matplotlib 中添加一个小实心圆圈或指向计数图?

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    这里是一个例子,使用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 这是一个
    • XY 是形状为 (100, 100) 的 NumPy 数组。 ** 是幂运算符。 NumPy 数组上的算术运算是按元素执行的。所以X ** YXY 次幂的幂,对X 中的每个元素和Y 中的相应元素进行。在 Python 解释器中尝试一下,也许XY 的数组更小,这样结果更容易看到。
    • 该图显示了方程 x^y = y^x 的根。这是显而易见的解决方案,直线x = y。但是还有一条曲线,如上所示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-26
    • 2013-12-03
    • 2015-06-06
    • 2013-06-07
    相关资源
    最近更新 更多