第6章: Matplotlib 坐标轴定制练习题

熟练掌握 Matplotlib 坐标轴定制核心技巧

包括刻度控制、图内轴添加、轴脊调整,提升图表专业性

练习 1

定制刻度位置、格式与样式

任务

用给定的 48 小时股票价格数据,绘制折线图(样式 'g-o'),重点实现:

  • X 轴主刻度每 12 小时、格式为 YYYY-MM-DD HH:MM
  • X 轴次刻度每 2 小时
  • 主刻度朝外(蓝色、长10宽2、标签旋转15°),次刻度朝内(红色、长5)
  • 添加网格线,设置合理标题和轴标签

数据

base = datetime(2025, 1, 1, 0) x_time = np.array([base + timedelta(hours=i*2) for i in range(25)]) y_price = np.array([100.0, 100.2, 101.0, 100.5, 100.8, 102.0, 101.5, 101.8, 101.3, 100.9, 100.0, 99.5, 100.0, 99.8, 100.5, 101.2, 101.0, 101.5, 102.5, 103.0, 102.8, 102.5, 102.0, 101.5, 101.8])
股票价格走势图
正在生成图表
练习 2

添加图内坐标轴

任务

用"大图+小图"展示销量数据:

  • 大图(主坐标轴)展示全国总销量(样式 'b-s')
  • 小图(嵌入右上角)展示华东区销量(样式 'r-o')
  • 主坐标轴位置 [0.1, 0.1, 0.8, 0.8],小图位置自己调节
  • 小图刻度标签缩小,避免拥挤(可取 labelsize=8)
  • 设置标题、轴标签和图例

数据

x_all = np.arange(1, 13) y_all_sales = np.array([50, 55, 60, 65, 75, 80, 85, 90, 80, 70, 65, 70]) y_east_sales = np.array([20, 22, 25, 28, 30, 35, 38, 40, 35, 30, 28, 30])
全国及华东区销量月度走势图
正在生成图表
练习 3

隐藏部分轴脊

任务

用水平条形图展示编程语言投票数据,重点实现:

  • 隐藏顶部和右侧轴脊
  • 隐藏 Y 轴刻度线
  • (选做)为条形图添加得票数值标签
  • 设置标题和轴标签,优化图表简洁度

数据

languages = ['Python', 'JavaScript', 'Java', 'C#', 'Go', 'TypeScript'] y_pos = np.arange(len(languages)) votes = np.array([450, 380, 290, 180, 120, 90])
编程语言投票结果条形图
正在生成图表
练习 4

移动轴脊到数据中心

任务

绘制二次函数 y = x²,重点实现:

  • 隐藏顶部和右侧轴脊
  • 将左右、底部轴脊移动到坐标原点 (0,0)
  • 设置合理坐标轴范围,添加图例和标题

数据

x = np.linspace(-5, 5, 100) y = x**2
二次函数图像
正在生成图表
练习 5

综合定制(轴脊+刻度)

任务

绘制正切函数 y = tan(x),综合实现:

  • 隐藏顶部和右侧轴脊,移动轴脊到原点
  • Y 轴范围限制为 [-4, 4](避开无穷大奇点)
  • X 轴刻度设为 [-π, -π/2, 0, π/2, π],标签用 LaTeX 格式
  • 添加网格线、图例和标题

数据

x = np.linspace(-np.pi + 0.1, np.pi - 0.1, 200) y = np.tan(x)
正切函数图像
正在生成图表

✨ 交互式图表展示

所有图表都已直接嵌入网页中,支持缩放、平移等交互操作

点击"重新生成所有图表"可以刷新图表显示