作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用以下代码,它将标签放置在颜色栏的顶部,但也将 y 标签放置在顶部。理想情况下,我希望颜色栏顶部有一个标签,右侧有一个标签 (as shown here with '# of contacts') 。
import matplotlib.pyplot as plt
import numpy as np
number = 100
number_ticks = 9
x_input = np.array([np.linspace(-1.,3.,100),]*number)
y_input = np.array([np.arange(0.,100.,1.),]*number).transpose()
output = np.array([np.linspace(0.,1.0,100),]*number)
bounds=np.linspace(0.0,1.0,number_ticks)
cntr1 = plt.contourf(x_input, y_input, output, vmin = 0.0, vmax = 1.0, levels = bounds)
cbar1 = plt.colorbar()
cbar1.set_label(r"$\bf{title}$", labelpad=-40, y=1.03, rotation=270)
cbar1.ax.set_ylabel(r"$\bf{y_label}$", labelpad=-40, y=1.03, rotation=0)
plt.show()
所需的输出是颜色条上方及其右侧的标签。上面的代码仅将两个标签放在相同的位置(即上面)。 y 标签不会像我希望的那样位于颜色条的一侧(就像我共享的链接中那样)。
最佳答案
您可以使用Axes.set_title
方法:
import matplotlib.pyplot as plt
import numpy as np
number = 100
number_ticks = 9
x_input = np.array([np.linspace(-1.,3.,100),]*number)
y_input = np.array([np.arange(0.,100.,1.),]*number).transpose()
output = np.array([np.linspace(0.,1.0,100),]*number)
bounds=np.linspace(0.0,1.0,number_ticks)
cntr1 = plt.contourf(x_input, y_input, output, vmin = 0.0, vmax = 1.0, levels = bounds)
cbar1 = plt.colorbar()
cbar1.ax.set_title(r"$\bf{title}$")
cbar1.ax.set_ylabel(r"$\bf{y_label}$", labelpad=20, rotation=270)
plt.show()
我认为ColorbarBase.set_label
相当于 cbar1.ax.set_ylabel
。和Axes.set_label
是指定一个图例条目。
关于python - 如何将 y 轴标签和标题放在颜色条上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51253661/
我是一名优秀的程序员,十分优秀!