Multiple lines of x tick labels in matplotlib

前端 未结 4 877
庸人自扰
庸人自扰 2020-12-06 00:05

I\'m trying to make a plot similar to this excel example:

\"example\"

I would like to know if there i

4条回答
  •  抹茶落季
    2020-12-06 00:39

    this gets close:

    xtick

    fig = plt.figure( figsize=(8, 4 ) )
    ax = fig.add_axes( [.05, .1, .9, .85 ] )
    ax.set_yticks( np.linspace(0, 200, 11 ) )
    
    xticks = [ 2, 3, 4, 6, 8, 10 ]
    xticks_minor = [ 1, 5, 7, 9, 11 ]
    xlbls = [ 'background', '5 year statistical summary', 'future build',
              'maximum day', '90th percentile day', 'average day' ]
    
    ax.set_xticks( xticks )
    ax.set_xticks( xticks_minor, minor=True )
    ax.set_xticklabels( xlbls )
    ax.set_xlim( 1, 11 )
    
    ax.grid( 'off', axis='x' )
    ax.grid( 'off', axis='x', which='minor' )
    
    # vertical alignment of xtick labels
    va = [ 0, -.05, 0, -.05, -.05, -.05 ]
    for t, y in zip( ax.get_xticklabels( ), va ):
        t.set_y( y )
    
    ax.tick_params( axis='x', which='minor', direction='out', length=30 )
    ax.tick_params( axis='x', which='major', bottom='off', top='off' )
    

提交回复
热议问题