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

时间:2016-04-07 20:06:31

标签: python matplotlib plot label axis-labels

我知道这是一个“重复”的问题(Remove the x-axis ticks while keeping the grids (matplotlib)),但我找到的答案并没有解决我的问题。

例如,我有这段代码:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

产生这个情节:

enter image description here

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

%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()

删除所有蜱和网格:

enter image description here

最后,如果试试这个:

plt.figure(figsize=(10,10))
plt.imshow(data)
plt.grid(True)
plt.xticks([])
plt.yticks([])

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

enter image description here

3 个答案:

答案 0 :(得分: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()

,结果是:

Transparent ticks

答案 1 :(得分: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()

答案 2 :(得分:2)

我认为更简单的方法是将长度设置为零:

ax.tick_params(which='both', length=0)