这里只讲数据分析常用的图形绘制,至于复杂的图形不在本篇讨论范围,讲到的几个图形基本满足数据分析过程的要求,至于汇报材料或者其他的高质量图形,以后再另外写关于ggplot2的简单使用。
python的绘图工具主要是matplotlib,这里不讲复杂的使用,只讲简单的使用。
使用matplotlib绘图有两种方法:
1.matplotlib绘图,指定参数data=DataFrame或Series
2.pandas对DataFrame和Series做了处理,它们本身有plot的方法
1.使用matplotlib绘图,如果用过MATLAB的朋友对这个不陌生。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from pandas import DataFrame, Series
from numpy.random import randn,rand
import matplotlib as mpl
from matplotlib.pyplot import savefig
mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
# 1.先创建一个画布
fig = plt.figure()
# 2.然后创建图形矩阵
ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,2)
ax3 = fig.add_subplot(2,2,3)
# 3.查看画布
fig
# 4.单独绘制曲线
plt.plot(randn(50).cumsum(), 'k--')
# 5.在刚才创建的图形矩阵上画图
# 5.1.直方图
ax1.hist(randn(100), bins = 20, color = 'k', alpha = 0.3)
# 5.2.散点图
ax2.scatter(np.arange(30), np.arange(30)+3*randn(30))
# 5.3.线图(默认)
ax3.plot(randn(50).cumsum(),'k--')
# 6.将画好的图形显示出来
fig
# 或者
plt.show()
前面的代码是先创建画布然后创建图形矩阵,有人嫌麻烦,于是有了下面的代码。
# 创建图形矩阵的快捷函数
# sharex,sharey 共享x,y轴,也就是刻度线是一样的
fig, axes = plt.subplots(2,2, sharex = True, sharey = True)
for i in range(2):
for j in range(2):
axes[i,j].hist(randn(500), bins=50,
color='k', alpha = 0.5)
plt.subplots_adjust(wspace = 0,hspace=0)
fig
# 图形的属性
1.color:颜色
1.1 r:红色
1.2 b:蓝色
1.3 g:绿色
1.3 y:黄色
2.数据标记markder
2.1 o:圆圈
2.2 .:圆点
2.2</