Removing ticks in log scale

It appears that matplotlib at some point changed the default behaviour of log-scale plots to place labelled minor ticks at every power of the base. This means that if you override the standard ticks with ax.set_xticks, they will likely collide with those minor ticks, which need to be removed with ax.set_xticks([], minor=True). Most StackOverflow answers that are easily googled pre-date this change, which confused me for a good half hour!