给定以下代码
x = np.random.random((50))*2 -1
y = np.random.random((50))
plt.scatter(x,y,c=x**3,cmap='viridis')
cb = plt.colorbar()
#I want a smarter (& working) version of this
cb.ax.set_yticklabels(
[str(np.cbrt(eval(i.get_text()))) for i in cb.ax.get_yticklabels()]
) 我想使用x**3在散点图中设置颜色来强调小尺度上的差异,但我想在颜色条上显示x的值(而不是像所示的图中那样的x**3 )。
我相信这可以通过使用反函数(这里是cube-root)更改标签来实现。问题是matplotlib通常会选择舍入值,而这通常不会选择这样的值。

https://stackoverflow.com/questions/38309171
复制相似问题