Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 删除sharey=<;子地块上的y轴刻度标签;其他轴>;_Python_Python 3.x_Matplotlib - Fatal编程技术网

Python 删除sharey=<;子地块上的y轴刻度标签;其他轴>;

Python 删除sharey=<;子地块上的y轴刻度标签;其他轴>;,python,python-3.x,matplotlib,Python,Python 3.x,Matplotlib,我试图在Python3.7和matplotlib上创建一个带有子图的多图。我在第一个子地块(ax1)具有ax1.set_ylim()和ax2=plt.subplot(122,sharey=ax1)的位置设置了绘图 但是,我想关闭ax2上的y-tick标签。当我通过ax2.set_yticks([])执行此操作时,两个子批次上的勾号都会消失(可能是因为共享)。见下面的例子 导入matplotlib.pyplot作为plt 将numpy作为np导入 #创建数据 data1=np.random.ran

我试图在Python3.7和matplotlib上创建一个带有子图的多图。我在第一个子地块(ax1)具有
ax1.set_ylim()
ax2=plt.subplot(122,sharey=ax1)的位置设置了绘图

但是,我想关闭ax2上的y-tick标签。当我通过
ax2.set_yticks([])
执行此操作时,两个子批次上的勾号都会消失(可能是因为
共享
)。见下面的例子

导入matplotlib.pyplot作为plt
将numpy作为np导入
#创建数据
data1=np.random.rand(10,10)
data2=np.random.rand(10,10)
#绘图数据
图=plt.图(图尺寸=(8,4))
ax1=plt.子批次(121)
ax1.imshow(数据1)
ax1.set_ylim(0,5)
ax2=plt.子批(122,sharex=ax1,sharey=ax1)
ax2.imshow(数据2)
ax2.set_-yticks([])
plt.show()
如果不设置ax2.set_yticks([])
,我会得到以下结果: 但当我设置ax2.set_yticks([])时,两个轴都会消失:

有更好的方法吗?我希望将y轴标签放在左边的绘图上,但不要放在右边。

您也可以尝试:

import matplotlib.pyplot as plt
import numpy as np

# create data 
data1 = np.random.rand(10, 10)
data2 = np.random.rand(10, 10)

# plot data
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(8, 4), sharey=True)
ax1.imshow(data1)
ax1.set_ylim(0,5)

ax2.imshow(data2)

plt.show()
输出:


这是很好的第一步,但这些图形上的x轴到底是怎么回事?看起来它的左右两边都被切断了。当我运行它时,你的代码创建了正确的图像,尽管我不确定你链接的图像为什么不同。我将把答案标记为完成,因为代码以完全正确的方式解决了我的问题。您可能只想关闭标签,而不是用空列表覆盖它们:
ax2。勾选参数(labelleft=False)