📜  Python中的 Matplotlib.axes.Axes.tick_params()

📅  最后修改于: 2022-05-13 01:54:38.651000             🧑  作者: Mango

Python中的 Matplotlib.axes.Axes.tick_params()

Matplotlib是Python中的一个库,它是 NumPy 库的数值数学扩展。 Axes 类包含大部分图形元素:Axis、Tick、Line2D、Text、Polygon 等,并设置坐标系。 Axes 的实例通过回调属性支持回调。

matplotlib.axes.Axes.tick_params()函数

matplotlib 库的 axes 模块中的Axes.tick_params()函数用于控制主要刻度定位器的行为。

下面的示例说明了 matplotlib.axes 中的 matplotlib.axes.Axes.tick_params()函数:

示例 1:

# Implementation of matplotlib function
import matplotlib.pyplot as plt
import numpy as np
  
values = np.array([
    0.015, 0.166, 0.133, 0.159, 0.041,
    0.024, 0.195, 0.039, 0.161, 0.018,
    0.143, 0.056, 0.125, 0.096, 0.094,
    0.051, 0.043, 0.021, 0.138, 0.075,
    0.109, 0.195, 0.050, 0.074, 0.079,
    0.155, 0.020, 0.010, 0.061, 0.008])
  
values[[3, 14]] += .8
  
fig, (ax, ax2) = plt.subplots(2, 1, sharex = True)
  
ax.plot(values, "o-", color ="green")
ax2.plot(values, "o-", color ="green")
  
ax.set_ylim(.78, 1.) 
ax2.set_ylim(0, .22)
  
ax.spines['bottom'].set_visible(False)
ax2.spines['top'].set_visible(False)
ax.xaxis.tick_top()
ax.tick_params(labeltop = False)
ax2.xaxis.tick_bottom()
  
d = .005
kwargs = dict(transform = ax.transAxes,
              color ='k', clip_on = False)
  
ax.plot((-d, +d), (-d, +d), **kwargs)       
ax.plot((1 - d, 1 + d), (-d, +d), **kwargs) 
  
kwargs.update(transform = ax2.transAxes)  
ax2.plot((-d, +d), (1 - d, 1 + d), **kwargs)
ax2.plot((1 - d, 1 + d), (1 - d, 1 + d), **kwargs) 
  
fig.suptitle('matplotlib.axes.Axes.tick_params()\
function Example\n\n', fontweight ="bold")
  
plt.show()

输出:

示例 2:

# Implementation of matplotlib function
import matplotlib.pyplot as plt
  
  
def make_patch_spines_invisible(ax):
    ax.set_frame_on(True)
    ax.patch.set_visible(False)
    for sp in ax.spines.values():
        sp.set_visible(False)
  
  
fig, host = plt.subplots()
fig.subplots_adjust(right = 0.75)
  
par1 = host.twinx()
par2 = host.twinx()
  
# Offset the right spine of par2.
# The ticks and label have already been
# placed on the right by twinx above.
par2.spines["right"].set_position(("axes", 
                                   1.2))
  
# Having been created by twinx, par2 
# has its frame off, so the line of its
# detached spine is invisible.  First,
# activate the frame but make the patch
# and spines invisible.
make_patch_spines_invisible(par2)
  
# Second, show the right spine.
par2.spines["right"].set_visible(True)
  
p1, = host.plot([0, 1, 2], [0, 1, 2], "b-",
                label ="Y-label 1")
  
p2, = par1.plot([0, 1, 2], [0, 30, 20], 
                "r-", label ="Y-label 2")
  
p3, = par2.plot([0, 1, 2], [500, 300, 150], 
                "g-", label ="Y-label 3")
  
host.set_xlim(0.25, 1.75)
host.set_ylim(0.25, 1.75)
par1.set_ylim(0, 40)
par2.set_ylim(10, 500)
  
host.set_xlabel("X-label")
host.set_ylabel("Y-label 1")
par1.set_ylabel("Y-label 2")
par2.set_ylabel("Y-label 3")
  
host.yaxis.label.set_color(p1.get_color())
par1.yaxis.label.set_color(p2.get_color())
par2.yaxis.label.set_color(p3.get_color())
  
tkw = dict(size = 4, width = 1.5)
host.tick_params(axis ='y',
                 colors = p1.get_color(),
                 **tkw)
  
par1.tick_params(axis ='y',
                 colors = p2.get_color(),
                 **tkw)
  
par2.tick_params(axis ='y',
                 colors = p3.get_color(),
                 **tkw)
  
host.tick_params(axis ='x', **tkw)
  
lines = [p1, p2, p3]
  
host.legend(lines, [l.get_label() for l in lines])
  
  
fig.suptitle('matplotlib.axes.Axes.tick_params()\
function Example\n\n', fontweight ="bold")
  
plt.show()

输出: