在Matplotlib中居中x轴刻度标签

在Matplotlib中居中x轴刻度标签

为了将标签放在两个刻度之间,我们可以按照以下步骤进行-

  • 加载一些示例数据r。
  • 创建一个数组的副本,转换为指定的类型。
  • 使用 subplots() 方法创建一个图像和一组子图。
  • 绘制日期和r示例数据。
  • 使用 set_major_locator()set_minor_locator() 方法设置主/次刻度线定位器。
  • 使用 set_major_locator()set_minor_formatter() 方法设置主/次刻度线格式化程序定位器。
  • 现在,在中心放置刻度标签。
  • 使用 show() 方法显示图像。

示例

import numpy as np
import matplotlib.cbook as cbook
import matplotlib.dates as dates
import matplotlib.ticker as ticker
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
with cbook.get_sample_data('aapl.npz') as fh:
    r = np.load(fh)['price_data'].view(np.recarray)
r = r[-250:]
date = r.date.astype('O')
fig, ax = plt.subplots()
ax.plot(date, r.adj_close)
ax.xaxis.set_major_locator(dates.MonthLocator())
ax.xaxis.set_minor_locator(dates.MonthLocator(bymonthday=15))
ax.xaxis.set_major_formatter(ticker.NullFormatter())
ax.xaxis.set_minor_formatter(dates.DateFormatter('%b'))
for tick in ax.xaxis.get_minor_ticks():
    tick.tick1line.set_markersize(0)
    tick.tick2line.set_markersize(0)
    tick.label1.set_horizontalalignment('center')
imid = len(r) // 2
ax.set_xlabel(str(date[imid].year))
plt.show()

输出结果

在Matplotlib中居中x轴刻度标签

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程