Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.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 使用matplotlib重新映射y轴标签的子集_Python_Matplotlib - Fatal编程技术网

Python 使用matplotlib重新映射y轴标签的子集

Python 使用matplotlib重新映射y轴标签的子集,python,matplotlib,Python,Matplotlib,鉴于以下情况: 导入matplotlib.pyplot作为plt 将matplotlib.ticker作为plt\u ticker导入 x=[0,5,9,10,15] y=[0,1,2,3,4] 图,ax=plt.子批次() 轴图(x,y) 我想使用以下字典在y轴内重新映射值: remap = {0: "one", 1: "two", 2: "three"} 任何不在此字典中的值都应映射到空字符串,“” 我尝试使用以下方法: 导入

鉴于以下情况:

导入matplotlib.pyplot作为plt
将matplotlib.ticker作为plt\u ticker导入
x=[0,5,9,10,15]
y=[0,1,2,3,4]
图,ax=plt.子批次()
轴图(x,y)
我想使用以下字典在y轴内重新映射值:

remap = {0: "one", 1: "two", 2: "three"}

任何不在此字典中的值都应映射到空字符串,

我尝试使用以下方法:

导入matplotlib.pyplot作为plt
将matplotlib.ticker作为plt\u ticker导入
x=[0,5,9,10,15]
y=[0,1,2,3,4]
图,ax=plt.子批次()
轴图(x,y)
重新映射={0:“一”,1:“二”,2:“三”}
定义y_格式(x,y):
返回重新映射。获取(y,y)
ax.yaxis.set\u major\u格式化程序(plt\u ticker.FuncFormatter(y\u格式))
其中:


看起来我只差一步,但我不太确定该如何处理这件事。

您可以使用
ax.set\u yticklebels

导入matplotlib.pyplot作为plt
将matplotlib.ticker作为plt\u ticker导入
x=[0,5,9,10,15]
y=[0,1,2,3,4]
图,ax=plt.子批次()
轴图(x,y)
重新映射={0:“一”,1:“二”,2:“三”}
ax.设置锁定(y)
ax.set_yticklabels(映射(lambda yy:remap[yy]如果yy在remap else'',y))
plt.show()