📌  相关文章
📜  Python中的 Matplotlib.axes.Axes.get_xgridlines()

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

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

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

matplotlib.axes.Axes.get_xgridlines()函数

matplotlib 库的 axes 模块中的Axes.get_xgridlines()函数用于将 x 网格线作为 Line2D 实例的列表返回。

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

示例 1:

# Implementation of matplotlib function
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
       
def func(x):
    return (x - 4) * (x - 6) * (x - 5) + 100
       
a, b = 2, 9  # integral limits
x = np.linspace(0, 10)
y = func(x)
       
fig, ax = plt.subplots()
ax.plot(x, y, "k", linewidth = 2)
ax.set_ylim(bottom = 0)
       
# Make the shaded region
ix = np.linspace(a, b)
iy = func(ix)
verts = [(a, 0), *zip(ix, iy), (b, 0)]
poly = Polygon(verts, facecolor ='green',
               edgecolor ='0.5', alpha = 0.4)
ax.add_patch(poly)
       
ax.text(0.5 * (a + b), 30, 
        r"$\int_a ^ b f(x)\mathrm{d}x$",
        horizontalalignment ='center', 
        fontsize = 20)
       
fig.text(0.9, 0.05, '$x$')
fig.text(0.1, 0.9, '$y$')
       
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
     
ax.set_xticks((a, b-a, b))
ax.set_xticklabels(('$a$', '$valx$', '$b$'))
  
w = ax.get_xgridlines()
ax.text(3, 200, "xgridlines values : ",
       fontweight ="bold")
xx = 200
for i in w:
    ax.text(3, xx-15, str(i), fontweight ="bold")
    xx-= 15
    
fig.suptitle('matplotlib.axes.Axes.get_xgridlines()\
 function Example\n\n', fontweight ="bold")
fig.canvas.draw()
plt.show()

输出:

示例 2:

# Implementation of matplotlib function
import numpy as np
import matplotlib.pyplot as plt
      
# Fixing random state for reproducibility
np.random.seed(19680801)
      
x = np.linspace(0, 2 * np.pi, 100)
y = np.sin(x)
y2 = y + 0.2 * np.random.normal(size = x.shape)
      
fig, ax = plt.subplots()
ax.plot(x, y)
ax.plot(x, y2)
     
ax.set_xticks([0, np.pi, 2 * np.pi])
ax.set_xticklabels(['0', r'$pi$', r'2$pi$'])
      
ax.spines['left'].set_bounds(-1, 1)
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
  
w = ax.get_xgridlines()
ax.text(2, 0.5, "xgridlines values : ",
        fontweight ="bold")
xx = 0.5
for i in w:
    ax.text(2, xx-0.2, str(i), fontweight ="bold")
    xx-= 0.2
    
fig.suptitle('matplotlib.axes.Axes.get_xgridlines() \
function Example\n\n', fontweight ="bold")
fig.canvas.draw()
plt.show()

输出: