上一篇,我们讲了Figure层面的一些操作,本篇我们主要聚焦在Axes层面,做一些操作。首先,导入画图必须包
import numpy as np import matplotlib.pyplot as plt
在matplotlib中如需显示中文和负号的需求,则需要添加下面两行代码
# 解决中文不显示的问题 plt.rcParams['font.sans-serif'] = ['SimHei'] # 解决负数不显示的问题 plt.rcParams['axes.unicode_minus'] = False
对于Axes来说,他是真正承载各种图形的地方,比如柱状图的“柱子”,散点图中的“点”。因此,我们可以直接在Axes上进行画图,同时设置Axes的一些属性信息。
Axes层面
设置坐标轴范围
坐标不会随数据而变化
fig, ax = plt.subplots(figsize=(3.5, 1.5)) ax.set_xlim(0, 10) ax.set_ylim(-2, 5)
fig, ax = plt.subplots(figsize=(3.5, 1.5)) ax.set_title('Title')
添加横纵坐标轴的标签
fig, ax = plt.subplots(figsize=(3.5, 1.5)) ax.set_xlabel('X轴') ax.set_ylabel('Y轴')
设置边框线
# 设置上方和左方的边框线为不可见 # 同理,右方和下方的分别为 right和bottom fig, ax = plt.subplots(figsize=(3.5, 1.5)) ax.spines['top'].set_visible(False) ax.spines['left'].set_visible(False)
设置背景颜色
颜色值支持多种模式,后面会专门出一期matplotlib中的颜色专题
- 可以是标准颜色,如 blue,red,green
- 可以是十六进制颜色:如#ffffff
- 可以是颜色的简写,如b,k,...
fig, ax = plt.subplots(figsize=(3.5, 1.5)) ax.set_facecolor('#fff548')
使用文字
fig, ax = plt.subplots(figsize=(3.5, 1.5)) ax.set_xlim(-2, 2) ax.set_ylim(-2, 2) ax.text(0, 0, '在(0,0)处的文字') ax.plot(0,0, marker='o', color='red')
填充两条线的中间部分
fig, (ax1,ax2) = plt.subplots(ncols=2,figsize=(3.5, 2.5)) x = np.linspace(1, 10) y1 = np.sin(x) y2 = np.cos(x) + 5 ax1.fill_between(x=x, y1=y1, y2=y2) ax2.fill_betweenx(y=x, x1=y1, x2=y2)
折线
fig, (ax1,ax2) = plt.subplots(ncols=2,figsize=(3.5, 2.5)) x = np.linspace(-np.pi, np.pi) # 数据分别是(x, np.sin(x)) # 颜色为 'g' ==> green # 线宽为 2 ax1.plot(x, np.sin(x), color='g', linewidth=2) # 画一条线段 # 两点确定一条直线 # (0, 0) ,(3, 5) ax2.plot([0, 3], [0,5]) ax2.set_xlim(-2, 10) ax2.set_ylim(-2, 10)