我想要更改以下图表的颜色条中刻度定位器和标签。
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import dates as mdates
import numpy as np
# fontdict to control style of text and labels
font = {'family': 'serif',
'color': (0.33, 0.33, 0.33),
'weight': 'normal',
'size': 18,
}
num = 1000
x = np.linspace(-4,4,num) + (0.5 - np.random.rand(num))
y = np.linspace(-2,2,num) + (0.5 - np.random.rand(num))
t = pd.date_range('1/1/2014', periods=num)
# make plot with vertical (default) colorbar
fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(6, 6))
ax.set_title('Scatter plot', fontdict=font)
# plot data
s = ax.scatter(x = x, y = y,
s=50, c=t, marker='o',
cmap=plt.cm.rainbow)
# plot settings
ax.grid(True)
ax.set_aspect('equal')
ax.set_ylabel('Northing [cm]', fontdict=font)
ax.set_xlabel('Easting [cm]', fontdict=font)
# add colorbar
cbar = fig.colorbar(mappable=s, ax=ax)
cbar.set_label('Date')
# change colobar ticks labels and locators
????
颜色条展示了时间依存性。因此,我想把刻度从数值(纳秒?)改为更合理的日期格式,比如月份和年份(例如%b%Y或%Y-%m),其中间隔可以是3或6个月。这是否可行?
我尝试过使用cbar.formatter、cbar.locator和mdates,但都没有成功。