matplotlib命令与格式:图像(figure)与子区域(axes)布局与规划
2017-12-25 16:59
519 查看
1.figure语法及操作
(1)figure语法说明figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
num:图像编号或名称,数字为编号 ,字符串为名称
figsize:指定figure的宽和高,单位为英寸;
dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80
facecolor:背景颜色
edgecolor:边框颜色
frameon:是否显示边框
(2)例子:
import matplotlib.pyplot as plt
创建自定义图像
fig=plt.figure(figsize=(4,3),facecolor='blue')
plt.show()
2.subplot创建单个子图
(1) subplot语法subplot(nrows,ncols,sharex,sharey,subplot_kw,**fig_kw)
subplot可以规划figure划分为n个子图,但每条subplot命令只会创建一个子图 ,参考下面例子。
(2)例子
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 100)
#作图1
plt.subplot(221)
plt.plot(x, x)
#作图2
plt.subplot(222)
plt.plot(x, -x)
#作图3
plt.subplot(223)
plt.plot(x, x ** 2)
plt.grid(color='r', linestyle='--', linewidth=1,alpha=0.3)
#作图4
plt.subplot(224)
plt.plot(x, np.log(x))
plt.show()
3.subplots创建多个子图
(1)subplots语法subplots参数与subplots相似
(2)例子
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 100)
#划分子图
fig,axes=plt.subplots(2,2)
ax1=axes[0,0]
ax2=axes[0,1]
ax3=axes[1,0]
ax4=axes[1,1]
#作图1
ax1.plot(x, x)
#作图2
ax2.plot(x, -x)
#作图3
ax3.plot(x, x ** 2)
ax3.grid(color='r', linestyle='--', linewidth=1,alpha=0.3)
#作图4
ax4.plot(x, np.log(x))
plt.show()
4.面向对象API:add_subplots与add_axes新增子图或区域
add_subplot与add_axes都是面对象figure编程的,pyplot api中没有此命令(1)add_subplot新增子图
add_subplot的参数与subplots的相似
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 100)
#新建figure对象
fig=plt.figure()
#新建子图1
ax1=fig.add_subplot(2,2,1)
ax1.plot(x, x)
#新建子图3
ax3=fig.add_subplot(2,2,3)
ax3.plot(x, x ** 2)
ax3.grid(color='r', linestyle='--', linewidth=1,alpha=0.3)
#新建子图4
ax4=fig.add_subplot(2,2,4)
ax4.plot(x, np.log(x))
plt.show()
(2)add_axes新增子区域
add_axes为新增子区域,该区域可以座落在figure内任意位置,且该区域可任意设置大小
add_axes参数可参考官方文档:http://matplotlib.org/api/_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure
import numpy as np
import matplotlib.pyplot as plt
#新建figure
fig = plt.figure()
# 定义数据
x = [1, 2, 3, 4, 5, 6, 7]
y = [1, 3, 4, 2, 5, 8, 6]
#新建区域ax1
#figure的百分比,从figure 10%的位置开始绘制, 宽高是figure的80%
left, bottom, width, height = 0.1, 0.1, 0.8, 0.8
# 获得绘制的句柄
ax1 = fig.add_axes([left, bottom, width, height])
ax1.plot(x, y, 'r')
ax1.set_title('area1')
#新增区域ax2,嵌套在ax1内
left, bottom, width, height = 0.2, 0.6, 0.25, 0.25
# 获得绘制的句柄
ax2 = fig.add_axes([left, bottom, width, height])
ax2.plot(x,y, 'b')
ax2.set_title('area2')
plt.show()
相关文章推荐
- matplotlib命令与格式:图像(figure)与子区域(axes)布局与规划
- matplotlib命令与格式:删除,移动,修改axes脊柱(边框)
- matplotlib命令与格式:设置栅格,axes脊柱(坐标轴),背景颜色
- matplotlib命令与格式:tick坐标轴日期格式(设置日期主副刻度)
- matplotlib命令与格式:参数配置文件与参数配置
- Matplotlib使用笔记----图像及布局
- matplotlib模块数据可视化-figure图像
- matplotlib中如何改变figure的布局和大小
- matplotlib命令与格式:坐标轴数值格式(日期格式,百分比,科学记数)
- matplotlib命令与格式:系统字体与显示中文
- matplotlib命令与格式:设置折线与点属性
- matplotlib命令与格式:axis坐标轴对象命令合集
- matplotlib命令与格式:标题(title),标注(annotate),文字说明(text)
- matplotlib.axes.Axes.errorbar 误差bar图像
- matplotlib figure图像-【老鱼学matplotlib】
- matplotlib命令与格式:tick刻度对象命令合集
- matplotlib命令与格式:tick坐标轴主副刻度设置
- matplotlib命令与格式:图例legend语法及设置
- python实现Kmeans文本聚类,通过PCA降维和Matplotlib显示聚类3d三维图像
- 如何使用matplotlib绘制一个函数的图像