如何创建一个紧凑的水平仪表,例如温度计温度计,使用Matplotlib压力气压计。仪表的比例将分为范围;每个范围表示高 - 高,高。低和低 - 低和指针读取值?是否可以在matplotlib中创建这样的量表?
答案 0 :(得分:1)
您可以使用颜色栏。
例如:
import matplotlib.pyplot as plt
import matplotlib as mpl
fig = plt.figure(figsize=(8, 2))
ax = fig.add_axes([0.1, 0.4, 0.8, 0.2])
bounds = [-20, -10, 0, 10, 20]
labels = ('low-low', 'low', 'high', 'high-high')
cmap = mpl.cm.coolwarm
norm = mpl.colors.Normalize(vmin=bounds[0], vmax=bounds[-1])
cb = mpl.colorbar.ColorbarBase(
ax,
cmap=cmap,
norm=norm,
orientation='horizontal',
boundaries=bounds,
label='temperature (degrees celcius)',
)
for i, label in enumerate(labels):
xpos = float((2*i + 1))/(2*len(labels))
ax.annotate(label, xy=(xpos, 0.5), xycoords='axes fraction', ha='center', va='center')
plt.show()
产生类似这样的东西:
有关详细信息,请参阅these examples in the matplotlib docs。