1.坐标轴概述:
在绘制图表的过程中,matplotlib会根据所绘图表的类型决定是否使用坐标系,或者显示哪种类型的坐标系。例如,饼图无坐标系,雷达图需使用极坐标系,折线图需使用直角坐标系等。其中,直角坐标系经常被使用。matplotlib中的直角坐标系由两条水平坐标轴、两条垂直坐标轴以及围成的绘图区域构成,以限制图形显示的区域,其左侧和下方的坐标轴(叫作y轴和x轴)经常被使用,其他坐标轴很少被使用。
坐标轴的结构相同,主要包括轴脊、刻度,其中刻度又可以细分为刻度线和刻度标签,刻度线又可以细分为主刻度线和次刻度线。坐标轴的各部分均是matplotlib类的对象:坐标轴是axis.Axis类的对象;轴脊是spines.Spine类的对象;刻度是axis.Ticker类的对象。此外,常用的x轴是一个axis.Xaxis类的对象,y轴是一个axis.Yaxis类的对象。
2.向任意位置添加坐标轴:
matplotlib支持向画布的任意位置添加自定义大小的坐标系统,同时显示坐标轴,而不再受规划区域的限制。pyplot模块可以使用axes()函数创建一个Axes类的对象,并将Axes类的对象添加到当前画布中。
import matplotlib .pyplot as plot
ax = plt.axes((0.2,0.5,0.3,0.3))
ax.plot([1,2,3,4,5])
ax2 = plt.axes((0.6,0.,0.3,0.3))
ax2.plot([1,2,3,4,5])
plt.title('41')
plt.show()
3.定制刻度的位置和格式:
定制刻度的位置和格式:
在matplotdib中,刻度线分为主刻度线和次刻度线,次刻度线默认是隐藏的。matplotlib.ticker模块中提供了两个类:Locator和Formatter,分别代表刻度定位器和刻度格式器,用于指定刻度线的位置和刻度标签的格式。下面分别介绍刻度定位器和刻度格式器,以及它们的用法。
3.1刻度定位器
Locator是刻度定位器的基类,它派生了很多子类,可以自动调整刻度的间隔、选择刻度的位置。
3.2.刻度格式器
Formatter是刻度格式器的基类,它派生了很多子类,可以自动调整刻度标签的格式。
实例1:
import numpy as np
from datetime import datetime
import matplotlib.pyplot as plt
from matplotlib.dates import DateFormatter, HourLocator
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
dates = ['201910240','2019102402','2019102404','2019102406',
'2019102408','2019102410','2019102412', '2019102414',
'2019102416','2019102418','2019102420','2019102422','201910250' ]
x_date = [datetime.strptime(d, '%Y%m%d%H') for d in dates]
y_data = np.array([7, 9, 11, 14, 8, 15, 22, 11, 10, 11, 11, 13, 8])
fig = plt