【问题标题】:Draw axis lines or the origin for Matplotlib contour plot为 Matplotlib 等高线图绘制轴线或原点
【发布时间】:2012-03-25 10:43:25
【问题描述】:

我想在等高线图中绘制x=0y=0 轴,使用白色。如果这太麻烦了,我想有一个白点来表示原点。

我的等高线图如下所示,创建它的代码如下。

xvec = linspace(-5.,5.,100)                               
X,Y = meshgrid(xvec, xvec)                                
fig = plt.figure(figsize=(6, 4))                      
contourf(X, Y, W,100)                             
plt.colorbar()                                    

【问题讨论】:

    标签: python matplotlib contour


    【解决方案1】:

    有许多选项(例如centered spines),但在您的情况下,使用axhlineaxvline 可能是最简单的。

    例如

    import numpy as np
    import matplotlib.pyplot as plt
    
    xvec = np.linspace(-5.,5.,100)                               
    x,y = np.meshgrid(xvec, xvec)
    z = -np.hypot(x, y)                                
    
    plt.contourf(x, y, z, 100)                             
    plt.colorbar() 
    
    plt.axhline(0, color='white')
    plt.axvline(0, color='white')
    
    plt.show()
    

    【讨论】:

    • spine.set_position('zero') 是要走的路,你为什么建议手动画线呢?
    【解决方案2】:

    你不能只覆盖一条直线吗?

    plt.plot([0,0],[-4,4],lw=3,'w')
    

    【讨论】:

    • 这一行生成错误。请进一步解释
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多