Python matplotlib中不同颜色的流图,给出2个CMAP

Python matplotlib中不同颜色的流图,给出2个CMAP,python,matplotlib,colors,data-visualization,subplot,Python,Matplotlib,Colors,Data Visualization,Subplot,A。我正在用Python创建一个不同颜色的流图,但同时得到两个不同的cmap。所使用的代码几乎与帮助文件相同,但我在第三个绘图上获得了多个CMAP。如何删除第二个cmap 下面是我使用的代码,后面是输出 import numpy as np import matplotlib.pyplot as plt %matplotlib inline x,y = np.meshgrid(np.linspace(-5,5,20),np.linspace(-5,5,20)) xdot = y ydot =

A。我正在用Python创建一个不同颜色的流图,但同时得到两个不同的
cmap
。所使用的代码几乎与帮助文件相同,但我在第三个绘图上获得了多个CMAP。如何删除第二个cmap

下面是我使用的代码,后面是输出

import numpy as np
import matplotlib.pyplot as plt

%matplotlib inline
x,y = np.meshgrid(np.linspace(-5,5,20),np.linspace(-5,5,20))

xdot = y
ydot = -2*x - 3*y

# subplot2grid
fig = plt.figure(figsize=(18,10))
ax1 = plt.subplot2grid((2,2), (0, 0))
ax2 = plt.subplot2grid((2,2), (0, 1))
ax3 = plt.subplot2grid((2,2), (1, 0))
ax4 = plt.subplot2grid((2,2), (1, 1))

# Plot 1
Q = ax1.quiver(x, y, xdot, ydot, scale=500, angles='xy') # Quiver key
ax1.quiverkey(Q,-10,22.5,30,'5.1.8',coordinates='data',color='k')
ax1.set(xlabel='x', ylabel='y')
ax1.set_title('Quiver plot 6.1.1')

# Plot 2
strm  = ax2.streamplot(x, y, xdot, ydot, density=1, color='k', linewidth=2) # streamplot(X,Y,u,v)
fig.colorbar(strm.lines)
ax2.set(xlabel='x', ylabel='y')
ax2.set_title('Stream plot of 6.1.1')

# Plot 4
strm  = ax4.streamplot(x, y, xdot, ydot, density=1, color=xdot, linewidth=2, cmap='autumn') # streamplot(X,Y,u,v, density = 1)
fig.colorbar(strm.lines, ax=ax4)
ax4.set(xlabel='x', ylabel='y', title='Stream plot of 6.1.1 with varying color')

plt.show()

的帮助文件中有一个示例,该示例用于实现此问题,该问题按预期工作。这是我用来绘制原始流图的

  • 总结 总结一下我的问题。如何删除侧面的两个颜色贴图


    非常感谢您的帮助。

    您应该指定
    ax2的
    ax
    。流程图

    import numpy as np
    import matplotlib.pyplot as plt
    
    x,y = np.meshgrid(np.linspace(-5,5,20),np.linspace(-5,5,20))
    
    xdot = y
    ydot = -2*x - 3*y
    
    # subplot2grid
    fig = plt.figure(figsize=(18,10))
    ax1 = plt.subplot2grid((2,2), (0, 0))
    ax2 = plt.subplot2grid((2,2), (0, 1))
    ax3 = plt.subplot2grid((2,2), (1, 0))
    ax4 = plt.subplot2grid((2,2), (1, 1))
    
    # Plot 1
    Q = ax1.quiver(x, y, xdot, ydot, scale=500, angles='xy') # Quiver key
    ax1.quiverkey(Q,-10,22.5,30,'5.1.8',coordinates='data',color='k')
    ax1.set(xlabel='x', ylabel='y')
    ax1.set_title('Quiver plot 6.1.1')
    
    # Plot 2
    strm  = ax2.streamplot(x, y, xdot, ydot, density=1, color='k', linewidth=2) # streamplot(X,Y,u,v)
    fig.colorbar(strm.lines, ax = ax2) # <--- TO BE DELETED
    ax2.set(xlabel='x', ylabel='y')
    ax2.set_title('Stream plot of 6.1.1')
    
    # Plot 4
    strm  = ax4.streamplot(x, y, xdot, ydot, density=1, color=xdot, linewidth=2, cmap='autumn') # streamplot(X,Y,u,v, density = 1)
    fig.colorbar(strm.lines, ax=ax4)
    ax4.set(xlabel='x', ylabel='y', title='Stream plot of 6.1.1 with varying color')
    
    plt.show()
    
    将numpy导入为np
    将matplotlib.pyplot作为plt导入
    x、 y=np.meshgrid(np.linspace(-5,5,20),np.linspace(-5,5,20))
    xdot=y
    ydot=-2*x-3*y
    #子地块2网格
    图=plt.图(图尺寸=(18,10))
    ax1=plt.子图2Grid((2,2)、(0,0))
    ax2=plt.子图2Grid((2,2)、(0,1))
    ax3=plt.子图2Grid((2,2)、(1,0))
    ax4=plt.子图2Grid((2,2)、(1,1))
    #地块1
    Q=ax1.箭筒(x,y,xdot,ydot,比例=500,角度=xy')#箭筒键
    ax1.quiverkey(Q,-10,22.5,30,'5.1.8',坐标='data',颜色='k')
    ax1.set(xlabel='x',ylabel='y')
    ax1.设置标题(“箭图6.1.1”)
    #情节2
    strm=ax2.流图(x,y,xdot,ydot,density=1,color='k',linewidth=2)#流图(x,y,u,v)
    
    图颜色条(strm.lines,ax=ax2)#您应该指定
    ax2.streamplot的
    ax

    import numpy as np
    import matplotlib.pyplot as plt
    
    x,y = np.meshgrid(np.linspace(-5,5,20),np.linspace(-5,5,20))
    
    xdot = y
    ydot = -2*x - 3*y
    
    # subplot2grid
    fig = plt.figure(figsize=(18,10))
    ax1 = plt.subplot2grid((2,2), (0, 0))
    ax2 = plt.subplot2grid((2,2), (0, 1))
    ax3 = plt.subplot2grid((2,2), (1, 0))
    ax4 = plt.subplot2grid((2,2), (1, 1))
    
    # Plot 1
    Q = ax1.quiver(x, y, xdot, ydot, scale=500, angles='xy') # Quiver key
    ax1.quiverkey(Q,-10,22.5,30,'5.1.8',coordinates='data',color='k')
    ax1.set(xlabel='x', ylabel='y')
    ax1.set_title('Quiver plot 6.1.1')
    
    # Plot 2
    strm  = ax2.streamplot(x, y, xdot, ydot, density=1, color='k', linewidth=2) # streamplot(X,Y,u,v)
    fig.colorbar(strm.lines, ax = ax2) # <--- TO BE DELETED
    ax2.set(xlabel='x', ylabel='y')
    ax2.set_title('Stream plot of 6.1.1')
    
    # Plot 4
    strm  = ax4.streamplot(x, y, xdot, ydot, density=1, color=xdot, linewidth=2, cmap='autumn') # streamplot(X,Y,u,v, density = 1)
    fig.colorbar(strm.lines, ax=ax4)
    ax4.set(xlabel='x', ylabel='y', title='Stream plot of 6.1.1 with varying color')
    
    plt.show()
    
    将numpy导入为np
    将matplotlib.pyplot作为plt导入
    x、 y=np.meshgrid(np.linspace(-5,5,20),np.linspace(-5,5,20))
    xdot=y
    ydot=-2*x-3*y
    #子地块2网格
    图=plt.图(图尺寸=(18,10))
    ax1=plt.子图2Grid((2,2)、(0,0))
    ax2=plt.子图2Grid((2,2)、(0,1))
    ax3=plt.子图2Grid((2,2)、(1,0))
    ax4=plt.子图2Grid((2,2)、(1,1))
    #地块1
    Q=ax1.箭筒(x,y,xdot,ydot,比例=500,角度=xy')#箭筒键
    ax1.quiverkey(Q,-10,22.5,30,'5.1.8',坐标='data',颜色='k')
    ax1.set(xlabel='x',ylabel='y')
    ax1.设置标题(“箭图6.1.1”)
    #情节2
    strm=ax2.流图(x,y,xdot,ydot,density=1,color='k',linewidth=2)#流图(x,y,u,v)
    
    fig.colorbar(strm.lines,ax=ax2)#移除
    下的
    fig.colorbar(strm.lines)
    #绘图2
    @BigBen我刚刚注意到,感觉像是最大的一块印章。谢谢你,把
    #Plot 2
    @BigBen下面的
    fig.colorbar(strm.lines)
    去掉,我刚才注意到了,感觉像是最大的一块印章。谢谢,哈哈哈