工具: matplotlib, pandas
import matplotlib.pyplot as plt
import pandas as pd
from pandas import Series, DataFrame
图的创建:
(1)单个图的绘制
创建图对象: fig = plt.figure() # 设置figsize参数可以确保图片保存到磁盘时具备一定的大小和纵横比.
创建轴对象: axis = fig.add_subplot()
plt.gcf()可以获得当前的Figure引用.但是更常用的是获取axis对象,然后调用绘图成员函数完成绘图:
axis.plot(data, linestyle='--', color='k')
matplotlib中的linestyle, color等设置与matlab基本相同.
(2)创建多图
可以用axis = fig.add_subplot(m,n,k)的方式定义增加的子图。但是更简单的方法是:
fig, axes = plt.subplots(m,n) # m行n列的多图矩阵
这句命令可以创建一个新的figure,并且axes就是一个含有已创建的subplot对象的Numpy数组,可以用调用数组元素的方式对subplot进行索引。还可以指定subplots的其他参数,例如使得子图之间具有相同的x轴或者y轴(否则matplotlib会自动缩放各子图的坐标轴界限)
(3)调整子图的间距
利用subplots_adjust函数可以调整各个子图之间的间距和图像大小。它的定义如下:
subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None)
附上例子:
import matplotlib.pyplot as plt
import numpy as np
fig, axes = plt.subplots(2,2,sharex=True, sharey=True) # 子图为2行2列,设置子图具有相同的x轴和y轴
for i in range(2):
for j in range(2):
axes[i,j].hist(np.random.randn(500),bins=50, color='k',alpha=0.5)
plt.subplots_adjust(wspace=0, hspace=0) # 将子图之间的间距收缩到了0
设置操作 | axis内部函数 |
---|---|
设置刻度 | set_xticks([ticks_list])或者set_yticks([ticks_list]) |