Чтобы установить галочки на обеих осях, вы можете использовать set
и указать xticklabels
и yticklabels
. Для того чтобы числовые метки были через равные промежутки времени, нам нужно немного поработать над последовательностями меток. Вот один из подходов:
def show_at_intervals(seq, interval, decimals=1):
x = np.copy(seq)
low, high = x.min(), x.max()
ar = np.arange(low,high,interval)
replate_at = np.searchsorted(x, ar)
new_ticks = np.full(x.shape, '', dtype=f'U{4+decimals}')
new_ticks[replate_at] = x[replate_at].round(decimals)
return new_ticks
Затем просто укажите нужные последовательности на обеих осях и новые интервалы (обратите внимание, что внешний продукт может быть напрямую получен с помощью np.multiply.outer
):
g = sns.heatmap(np.multiply.outer(C_1, C_2),
xticklabels=True, yticklabels=True)
_ = g.set(xticklabels = show_at_intervals(C_1, 0.5),
yticklabels = show_at_intervals(C_1, 0.5))
Или, например, для интервала .5
на x-axis
и 0.2
на y-axis
:
g = sns.heatmap(np.multiply.outer(C_1, C_2))
_ = g.set(xticklabels = show_at_intervals(C_1, .5),
yticklabels = show_at_intervals(C_2, 0.2))