在matplotlib中制作更长的子图刻度标记?

use*_*975 19 python matplotlib subplot

我试图改变沿python多面板子图的轴的刻度线.我有两个共用一个x轴的面板.我已经使绘图周围的边框更粗,并使沿轴的所有刻度线更粗.我有两个问题:

如何使所有刻度线(两个轴)更长,以便更加明显?

如何在主要刻度线之间添加较小但仍然明显的刻度线?

这是我到目前为止的最低工作示例.

from numpy import *
from scipy import *
from pylab import *
from random import *
import pylab
import matplotlib.pyplot as plt


#make the axis border thick
pylab.rc("axes", linewidth=4.0)
pylab.rc("lines", markeredgewidth=4)


#create a figure with two panels that shares the x-axis
f, (ax1, ax2) = plt.subplots(2, sharex=True, sharey=False)
#example figure1
ax1.plot(range(2),range(2),linewidth=2)
#example figure 2
ax2.plot(range(2),range(2),linewidth=2)



# Fine-tune figure; make subplots close to each other and hide x ticks for
# all but bottom plot.
f.subplots_adjust(hspace=0)
plt.setp([a.get_xticklabels() for a in f.axes[:-1]], visible=False)
show()
Run Code Online (Sandbox Code Playgroud)

cra*_*ulf 21

请尝试以下方法:

#example figure1
ax1.plot(range(2),range(2),linewidth=2)
ax1.minorticks_on()
ax1.tick_params('both', length=20, width=2, which='major')
ax1.tick_params('both', length=10, width=1, which='minor')
Run Code Online (Sandbox Code Playgroud)

你可以重复相同的ax2.这对你有用吗?

  • 如何获得 `axes.tick_params()` 的可用参数列表? (2认同)
  • @Atcold https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.tick_params.html (2认同)
  • @Atcold它们在文档中https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.tick_params.html (2认同)