I know that this is a "duplicate" question (Remove the x-axis ticks while keeping the grids (matplotlib)) but the answers that I found didn't solve my problem.
For example, I have this code:
%matplotlib inline
from matplotlib import pyplot as plt
from matplotlib.lines import Line2D
import bumpy
data = numpy.random.randint(0, 100, size=(100,100))
plt.style.use('ggplot')
plt.figure(figsize=(10,10))
plt.imshow(data)
plt.savefig('myplot.pdf', format='pdf', bbox_inches='tight')
plt.close()
Which produces this plot:
However, I want to end up with a plot without any ticks, just the grid. Then, I tried this:
plt.figure(figsize=(10,10))
plt.imshow(data)
plt.grid(True)
plt.xticks([])
plt.yticks([])
Wich remove all ticks and grids:
At last, if try this:
plt.figure(figsize=(10,10))
plt.imshow(data)
ax = plt.gca()
ax.grid(True)
ax.set_xticklabels([])
ax.set_yticklabels([])
I get closer but my .pdf still have some ticks outside the plot. How do I get rid of them, keeping the internal grid?
I think an even simpler way would be to set the length to zero:
ax.tick_params(which='both', length=0)
You can declare a color for ticks. In this case a transparent one:
from matplotlib import pyplot as plt
import numpy
data = numpy.random.randint(0, 100, size=(100,100))
plt.style.use('ggplot')
fig = plt.figure(figsize=(10,10))
ax = fig.add_subplot(111)
ax.imshow(data)
ax.tick_params(axis='x', colors=(0,0,0,0))
ax.tick_params(axis='y', colors=(0,0,0,0))
plt.show()
, which results in:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With