84

I would like to be able to hide the axes and gridlines on a 3D matplotlib graph. I want to do this because when zooming in and out the image gets pretty nasty. I'm not sure what code to include here but this is what I use to create the graph.

fig = plt.figure()
ax = fig.gca(projection='3d')
ax.view_init(30, -90)
ax.set_xlabel("X")
ax.set_ylabel("Y")
ax.set_zlabel("Z")
plt.xlim(0,pL)
plt.ylim(0,pW)
ax.set_aspect("equal")

plt.show()

This is an example of the plot that I am looking at:
This is an example of the plot that I am looking at

Trenton McKinney
  • 56,955
  • 33
  • 144
  • 158
Alex Santelle
  • 935
  • 2
  • 8
  • 9

2 Answers2

160
# Hide grid lines
ax.grid(False)

# Hide axes ticks
ax.set_xticks([])
ax.set_yticks([])
ax.set_zticks([])

Note, you need matplotlib>=1.2 for set_zticks() to work.

azalea
  • 11,402
  • 3
  • 35
  • 46
  • just leaving this note here because it tripped me up a bit: If you are using pandas, for example `df.hist(...)`, make sure you call `ax.grid(False)` AFTER `df_hist(...)` – wfgeo Nov 19 '20 at 12:53
118

Turn the axes off with:

plt.axis('off')

And gridlines with:

plt.grid(b=None)
Community
  • 1
  • 1
Johnnyh101
  • 1,305
  • 1
  • 8
  • 11