绘图后修改matplotlib y值
Modify matplotlib y values after plotting
我正在使用 matplotlib 绘制 KDE。这个问题是我正在使用 ax.imshow
,它只包含一个网格和一个范围。这意味着它将线性 [=21=] 网格中的数据,使用范围内的最小值到最大值。
我需要翻转 y 轴(可行),但我还需要通过函数任意缩放每个 y 点,而不仅仅是一个简单的因子。例如,如果 y 值为 5
,我需要将其映射到 f(5)=13
,而 6
应映射到 f(6)=22
。关键是,这不是一个简单的尺度。
在绘制这些 y 值后,是否有任何方法可以修改这些值,或者我是否被迫事先修改这些值。
我找不到修改 y 值的方法,但我可以找到修改 yaxis 标签的方法。
通过使用以下函数使用所需函数及其反函数缩放 yaxes:
ax.set_yscale('function', **{'functions':[forward, inverse]})
然后通过所需函数缩放轴 ytick 值并将 ytick labels 设置为缩放后的 yticks,您可以有效地缩放 y 值:
ax.set_yticklabels(forward(ax.get_yticks()))
我正在使用 matplotlib 绘制 KDE。这个问题是我正在使用 ax.imshow
,它只包含一个网格和一个范围。这意味着它将线性 [=21=] 网格中的数据,使用范围内的最小值到最大值。
我需要翻转 y 轴(可行),但我还需要通过函数任意缩放每个 y 点,而不仅仅是一个简单的因子。例如,如果 y 值为 5
,我需要将其映射到 f(5)=13
,而 6
应映射到 f(6)=22
。关键是,这不是一个简单的尺度。
在绘制这些 y 值后,是否有任何方法可以修改这些值,或者我是否被迫事先修改这些值。
我找不到修改 y 值的方法,但我可以找到修改 yaxis 标签的方法。
通过使用以下函数使用所需函数及其反函数缩放 yaxes:
ax.set_yscale('function', **{'functions':[forward, inverse]})
然后通过所需函数缩放轴 ytick 值并将 ytick labels 设置为缩放后的 yticks,您可以有效地缩放 y 值:
ax.set_yticklabels(forward(ax.get_yticks()))