绘制后修改matplotlib y值

问题描述

我正在使用matplotlib绘制KDE。问题是我使用的是ax.imshow,它只包含一个网格和一个范围。这意味着它将使用最大值范围内的最小值线性地将数据与网格隔开。

我需要翻转y轴(可行),但是然后我还需要通过函数而不是简单的因素任意缩放每个y点。例如,如果y值为5,则需要将其映射到f(5)=13,并将6映射到f(6)=22。关键是,这不是一个简单的标尺。

在绘制了这些y值之后,是否可以修改这些值,还是我不得不事先修改这些值?

解决方法

我找不到修改y值的方法,但是我找到了修改yaxis标签的方法。

通过使用以下函数用所需函数及其反比例缩放矢轴:

ax.set_yscale('function',**{'functions':[forward,inverse]})

然后通过所需功能缩放轴ytick值并将ytick 标签设置为缩放后的ticks,即可有效缩放y值:

ax.set_yticklabels(forward(ax.get_yticks()))

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...