matplotlib 的几种风格 练习

mac2022-06-30  77

〇、准备数据

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')

转载于:https://www.cnblogs.com/hhh5460/p/5632601.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)