【问题标题】:How to remove top value of y-axis only from Python's Matplotlib figure? [duplicate]如何仅从 Python 的 Matplotlib 图中删除 y 轴的最高值? [复制]
【发布时间】:2015-12-15 10:38:29
【问题描述】:

我正在尝试使用 Matplotlib 绘制一些数据。我的代码工作正常,但我的图形标题和 y 轴刻度的顶部值之间存在冲突。所以我的问题是,有人知道如何仅从 y 轴上删除最高值,同时保持绘图的其他所有内容相同吗?

我的代码

cyp_minus=pandas.read_csv(cyp_minus_file,sep='\t')
cyp_plus=pandas.read_csv(cyp_plus_file,sep='\t')
plt.figure(9)
plt.plot(cyp_minus['Dose']*1000,cyp_minus['atRA_minus_tet'],label='Control')
plt.plot(cyp_plus['Dose']*1000,cyp_plus['Cyp26(atRA_plus_tet)'],label='RARa Overexpression')
x=plt.xlabel('[atRA] (nM)',fontsize=15)
plt.ylabel('[Cyp26A1]/beta-actin',fontsize=15)
plt.title('Effect of RARa overexpression on Cyp26A1 dose-response curve',fontsize=15)
plt.legend(loc=2,fontsize=15)
plt.rc('xtick', labelsize=20)
plt.rc('ytick', labelsize=20)
plt.savefig('Cyp26A1 DR-curve for presentation.tiff',dpi=500,bbox_extra_artists=[x], bbox_inches='tight')

谢谢

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    作为已接受答案的替代方案,如果您确实想从刻度标签中删除文本,您可以这样做:

    yticks = plt.gca().get_yticks().tolist() # get list of ticks
    yticks[-1] = ''                          # set last tick to empty string
    ax.set_yticklabels(yticks)               # set the labels
    

    【讨论】:

      【解决方案2】:

      你可以让你的标题上升,这样它就不会与 y 顶部值重叠:

      plt.title('Effect of RARa overexpression on Cyp26A1 dose-response curve',fontsize=15, y=1.5) # Change y value accordinly
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-16
        • 1970-01-01
        • 2021-09-27
        • 2020-12-24
        • 1970-01-01
        • 2020-06-30
        相关资源
        最近更新 更多