# 环境:Jupyter 3.6+ %matplotlib inline # 启用Jupyter内嵌绘图模式import numpy as np
import pandas as pd
import matplotlib as mpl # 绘图系统底层配置,如字体、样式等import matplotlib.pyplot as plt # 基础绘图库,支持折线图/柱状图等可视化import seaborn as sns # 基于matplotlib的高级统计可视化库import datetime as dt
import statsmodels.api as sm # 统计建模库,如线性模型/时间序列等import statsmodels.formula.api as smf # 公式化建模接口from patsy import dmatrices # 模型公式解析器import scipy # 科学计算库,优化/积分/信号处理等import scipy.stats as stats # 统计分布与假设检验工具import rpy2 # Python与R语言交互接口import rpy2.robjects as robjects # R对象转换与执行环境
三、图表和代码可视化visualization
3.1 LAYOUT 矩阵图
3.1.1 示例-1
# matplotlib的图像都位于Figure对象
fig = plt.figure(num =1,figsize=[8,4.5])# num means figure_id# subplot用于绘图
ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,2)
ax3 = fig.add_subplot(2,2,3)
3.1.2 示例-2
# 另一种声明var的方式
fig, axes = plt.subplots(2,3,sharex=True,sharey=True)
plt.subplots_adjust(wspace =0, hspace =0)# will lead to overlapping of aix labelaxes[0,0].set_xticks([0,0.2,0.4,0.6,0.8,1])
axes[1,0].set_xlabel('Stages')
3.1.3 示例-3
from matplotlib.ticker import NullFormatter# 固定随机状态
np.random.seed(19680801)# # 随机定义数据# x = np.random.randn(1000)# y = np.random.randn(1000)nullfmt = NullFormatter()# no labels# 定义X,Y轴
left, width =0.1,0.65
bottom, height =0.1,0.65
bottom_h = left_h = left + width +0.02rect_scatter =[left, bottom, width, height]
rect_histx =[left, bottom_h, width,0.2]
rect_histy =[left_h, bottom,0.2, height]# 矩形图
plt.figure(1, figsize=(8,8))axScatter = plt.axes(rect_scatter)
axHistx = plt.axes(rect_histx)
axHisty = plt.axes(rect_histy)# no labels
axHistx.xaxis.set_major_formatter(nullfmt)
axHisty.yaxis.set_major_formatter(nullfmt)plt.show()