我正在尝试使用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')
谢啦
作为可接受答案的替代方案,如果您确实希望从勾号标签中删除文本,您可以这样做:
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
您可以使标题向上移动,使其不与y顶部值重叠:
plt.title('Effect of RARa overexpression on Cyp26A1 dose-response curve',fontsize=15, y=1.5) # Change y value accordinly
我是Python新手,需要使用pyplot和matplotlib生成条形图。到目前为止,我是这样尝试的(我只附上了重要的代码片段):
我正在matplotlib中使用子图。因为我的所有子图都有相同的x轴,所以我只想在底部图上标记x轴。如何仅从一个轴移除XTIC?
问题内容: 当我尝试对具有足够大数字的范围进行绘图时,我得到了所有刻度线都相对移动的轴。例如: 我在横坐标轴上得到了这些刻度: 问题是如何删除并获取: 问题答案: 这将抓取,获取x轴axis对象,然后获取主对象,并将设置为false(doc)。 在matplotlib的较新版本(1.4+)中,可以通过 更改默认行为。
问题内容: 我正在根据创建一个图: 问题是x和y轴中有不想要的标签,这些标签来自层次结构索引。因此,我想尝试删除这些标签,例如: 但这没有效果。如何删除x和y轴上的标签? 问题答案: 没有这个问题,就很难知道标签来自何处(我不知道数据帧的外观如何,这样才能产生标签,因为默认情况下不应有任何标签。)但是,标签可以使用已知方法和群集网格的热图轴进行设置- 因此也设置为空字符串。 所以如果是一个实例,
我正在使用matplotlib绘制直方图。pyplot模块,我想知道如何强制y轴标签只显示整数(例如0、1、2、3等),而不显示小数(例如0、0.5、1、1.5、2等)。 我在看指导说明,怀疑答案就在matplotlib附近。pyplot。但到目前为止,我只能找到设置最小和最大y轴值的东西。
问题内容: 我希望在方形图上画线。 天秤和应该是相同的。 例如x的范围是0到10,在屏幕上是10厘米。y的范围也必须为0到10,并且也必须为10 cm。 即使我迷失了窗口大小,也必须保持正方形。 目前,我的图形与窗口大小一起缩放。 我该如何实现? 更新: 我尝试了以下操作,但没有成功。 问题答案: 您需要对api进行更深入的研究: set_aspect的文档