use*_*497 2 python matplotlib colorbar
我想更改基数和指数的大小,以匹配我的颜色栏上刻度的字体大小。我怎样才能做到这一点?
for i in xrange(col):
plt.plot( t, x[i], color = s_m.to_rgba(slopes[i]), linewidth = 3 )
cbar = plt.colorbar(s_m)
cbar.formatter.set_powerlimits((0, 0))
cbar.update_ticks()
cbar.ax.tick_params(labelsize=20)
Run Code Online (Sandbox Code Playgroud)
首先,让我们拼凑一个独立的示例来演示您的问题。您已经更改了颜色栏的刻度标签的大小,但是偏移标签没有更新。例如,如果颜色栏顶部的文本与刻度标签的大小匹配,那就太好了:
import numpy as np
import matplotlib.pyplot as plt
data = np.random.random((10, 10)) * 1e-6
fig, ax = plt.subplots()
im = ax.imshow(data)
cbar = fig.colorbar(im)
cbar.ax.tick_params(labelsize=20)
ax.set(xticks=[], yticks=[])
plt.show()
Run Code Online (Sandbox Code Playgroud)
您要更改的内容称为offset_text。在这种情况下,它是颜色栏y轴的偏移文本。您想要做类似的事情:
cbar.ax.yaxis.get_offset_text.set(size=20)
Run Code Online (Sandbox Code Playgroud)
要么
cbar.ax.yaxis.offsetText.set(size=20)
Run Code Online (Sandbox Code Playgroud)
举一个完整的例子:
import numpy as np
import matplotlib.pyplot as plt
data = np.random.random((10, 10)) * 1e-6
fig, ax = plt.subplots()
im = ax.imshow(data)
cbar = fig.colorbar(im)
cbar.ax.tick_params(labelsize=20)
ax.set(xticks=[], yticks=[])
cbar.ax.yaxis.get_offset_text().set(size=20)
plt.show()
Run Code Online (Sandbox Code Playgroud)