Plotting grids across the subplots Python matplotlib

前端 未结 2 1107
情歌与酒
情歌与酒 2021-02-13 22:22

I have tried the following:

d = [1,2,3,4,5,6,7,8,9]
f = [0,1,0,0,1,0,1,1,0]
fig = plt.figure()
fig.set_size_inches(30,10)
ax1 = fig.add_subplot(211)
line1 = ax         


        
2条回答
  •  無奈伤痛
    2021-02-13 23:04

    There is no built-in option to create inter-subplot grids. In this case I'd say an easy option is to create a third axes in the background with the same grid in x direction, such that the gridline can be seen in between the two subplots.

    import matplotlib.pyplot as plt
    
    d = [1,2,3,4,5,6,7,8,9]
    f = [0,1,0,0,1,0,1,1,0]
    
    fig, (ax1,ax2) = plt.subplots(nrows=2, sharex=True)
    ax3 = fig.add_subplot(111, zorder=-1)
    for _, spine in ax3.spines.items():
        spine.set_visible(False)
    ax3.tick_params(labelleft=False, labelbottom=False, left=False, right=False )
    ax3.get_shared_x_axes().join(ax3,ax1)
    ax3.grid(axis="x")
    
    
    line1 = ax1.plot(d, marker='.', color='b', label="1 row")
    line1 = ax2.plot(f, marker='.', color='b', label="1 row")
    ax1.grid()
    ax2.grid()
    plt.show()
    

提交回复
热议问题