python的matplotlib风格_matplotlib 的几种风格 练习

本文详细介绍了如何使用Python的matplotlib库创建图表,包括MATLAB风格的API和面向对象的API。从简单的单图绘制到复杂的多子图布局,通过实例展示了各种API的用法,帮助读者掌握数据可视化的基础技巧。
摘要由CSDN通过智能技术生成

〇、准备数据

import numpy as np

x = np.linspace(0, 5, 10)

y = x ** 2

一、matlab风格的API

1.单图

from pylab import *

figure()

plot(x, y, 'r')

xlabel('x')

ylabel('y')

title('title')

show()

2.多子图

subplot(1,2,1)

plot(x, y, 'r--')

subplot(1,2,2)

plot(y, x, 'g*-');

二、matplotlib面向对象风格的API:

1.两步走:先创建figure实例、接着创建axes实例

a.单图

fig = plt.figure()

# 不关心位置

axes = fig.add_subplot(1, 1, 1)

# 关心位置

axes = fig.add_axes([0.1, 0.1, 0.8, 0.8]) # left, bottom, width, height (range 0 to 1)

axes.plot(x, y, 'r')

axes.set_xlabel('x')

axes.set_ylabel('y')

axes.set_title('title');

b.多子图

fig = plt.figure()

# 不关心位置

axes1 = fig.add_subplot(2, 1, 1)

axes2 = fig.add_subplot(2, 1, 2)

# 关心位置

axes1 = fig.add_axes([0.1, 0.1, 0.8, 0.8]) # main axes

axes2 = fig.add_axes([0.2, 0.5, 0.4, 0.3]) # inset axes

# main figure

axes1.plot(x, y, 'r')

axes1.set_xlabel('x')

axes1.set_ylabel('y')

axes1.set_title('title')

# insert

axes2.plot(y, x, 'g')

axes2.set_xlabel('y')

axes2.set_ylabel('x')

axes2.set_title('insert title')

2.一步走:同时创建figure、axes实例

a.单图(不关心位置)

fig, axes = plt.subplots()

axes.plot(x, y, 'r')

axes.set_xlabel('x')

axes.set_ylabel('y')

axes.set_title('title')

b.多子图(不关心位置)

1)单行,或者单列

fig, axes = plt.subplots(nrows=1, ncols=2)

for ax in axes:

ax.plot(x, y, 'r')

ax.set_xlabel('x')

ax.set_ylabel('y')

ax.set_title('title')

2)多行多列

fig, axes = plt.subplots(nrows=3, ncols=2, sharex=True)

# 此处不能用 for ax in axes:

for i in range(6):

axes[i//2, i%2].plot(x, y, 'r')

axes[i//2, i%2].set_xlabel('x')

axes[i//2, i%2].set_ylabel('y')

axes[i//2, i%2].set_title('title')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值