`matplotlib` reference
Written: 2023-06-02
Tagged in: #python
Changing ticks and tick labels
With axis object, change tick spacing
from matplotlib import ticker
tick_spacing = 1
ax.xaxis.set_major_locator(ticker.MultipleLocator(tick_spacing))
# or
ax.set_xticks(ax.getxticks()[::2])
# set xticks can also just be given a list or np array of tick locations
ax.set_xticklabels(ax.get_xticklabels()[::2])
# can also receive args like (..., fontsize=6, rotation=45), etc
# also
ax.set_xticklabels(ax.get_xticklabels()[::2]) https://www.geeksforgeeks.org/change-the-x-or-y-ticks-of-a-matplotlib-figure/#
axs.imshow(corrs)
axs.yaxis.set_major_locator(ticker.MultipleLocator(tick_spacing))
# axs.xaxis.set_major_locator(ticker.MultipleLocator(5))
yaxislabels = [item.get_text() for item in axs.get_yticklabels()]
#axs.set_yticklabels(list(range(1,6)))
a = np.array(axs.get_yticks().tolist())
a[1:] += 1
axs.set_yticklabels(a.astype(int))
# a = np.array(axs.get_xticks().tolist())
# a[1:] += 1
# axs.set_xticklabels(a.astype(int))
axs.xaxis.set_ticks([0] + (np.arange(0, len(corrs.T), 5)[1:]-1).tolist() + [43])
a = np.array(axs.get_xticks().tolist())
a[:] += 1
axs.set_xticklabels(a.astype(int)) Turn grid off
ax.grid(False) # or None Change colorbar width
# credit https://stackoverflow.com/questions/33443334/how-to-decrease-colorbar-width-in-matplotlib
fig.colorbar(c, aspect=5)
# or
cbar_ax = fig.add_axes([0.09, 0.06, 0.84, 0.02])
fig.colorbar(scatter, cax=cbar_ax, orientation="horizontal") Histogram clipping
sns.distplot(data, hist=False, kde_kws={'clip': (0, 1)})
# or
sns.kdeplot(data, clip=(0.0, 1.0))
# not 100% sure if this actually recalculates the function or just clips the visualization limits