删除轴刻度,但使用Matplolib / ggplot样式保留网格

pce*_*con 5 python plot label matplotlib axis-labels

我知道这是一个“重复”问题(删除x轴刻度,同时保留网格(matplotlib)),但是我发现的答案无法解决我的问题。

例如,我有以下代码:

%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()
Run Code Online (Sandbox Code Playgroud)

产生此图:

在此处输入图片说明

但是,我想得出一个没有任何刻度的图,只是网格。然后,我尝试了这个:

plt.figure(figsize=(10,10))
plt.imshow(data)
plt.grid(True)
plt.xticks([])
plt.yticks([])
Run Code Online (Sandbox Code Playgroud)

Wich删除所有刻度线和网格:

在此处输入图片说明

最后,如果尝试这样做:

plt.figure(figsize=(10,10))
plt.imshow(data)
ax = plt.gca()
ax.grid(True)
ax.set_xticklabels([])
ax.set_yticklabels([])
Run Code Online (Sandbox Code Playgroud)

我走近了,但我的.pdf情节外仍然有一些滴答声。我如何摆脱它们,保持内部网格?

在此处输入图片说明

arm*_*ita 5

您可以为刻度线声明颜色。在这种情况下,透明的是:

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()
Run Code Online (Sandbox Code Playgroud)

,结果为:

透明刻度


cph*_*wis 4

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) 
plt.imshow(data) 
ax.grid(True) 
for axi in (ax.xaxis, ax.yaxis):
    for tic in axi.get_major_ticks():
        tic.tick1On = tic.tick2On = False
        tic.label1On = tic.label2On = False

plt.show() 
plt.savefig('noticks.pdf', format='pdf', bbox_inches='tight') 
plt.close()
Run Code Online (Sandbox Code Playgroud)