python(二):数据可视化之matplotlib

matplotlib简介

以下是用于数据可视化的几个常用图表:
python(二):数据可视化之matplotlib_第1张图片
scatter plot: 散点图
box plot: 箱型图
histogram:柱状图
Multivariate Plots:多变量图
violinplots:小提琴图
pairplot:多变量图
kdeplot:
heatmap:
andrews_curves:
radviz:
joinplot:

matplotlib库由各种可视化的类组成
matplotlib.pyplot是绘制各类可视化图形的命令子库,相当于快捷方式

matplotlib基础

引入模块

import matplotlib.pyplot as plt
%matplotlib incline
#使用内联绘图,就不用调用.show()方法了

先简单绘制一个视图:

plt

matplotlib.pyplot常用的绘图函数

python(二):数据可视化之matplotlib_第2张图片
python(二):数据可视化之matplotlib_第3张图片
python(二):数据可视化之matplotlib_第4张图片

import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.ylabel('some numbers')
plt.show()

python(二):数据可视化之matplotlib_第5张图片

线图line

t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2 * np.pi * t)

fig, ax = plt.subplots() #fig 为所创建的画布figure对象,ax为nd数组类型,存储子图Axes对像
ax.plot(t, s) #做图[x,y]

ax.set(xlabel='time (s)', ylabel='voltage (mV)',
       title='About as simple as it gets, folks') #设置图的其他参数
ax.grid() #在图中显示网格

fig.savefig("test.png") #保存画布为文件
plt.show()

python(二):数据可视化之matplotlib_第6张图片

饼图pie

labels = 'Frogs', 'Hogs', 'Dogs', 'Logs' #饼图中每个块的标签
sizes = [15, 40, 20, 25]
explode = (0, 0.1, 0, 0) #explode参数表示将某一块突出显示

plt.pie(sizes, explode = explode, labels = labels, autopct = '%1.1f%%', shadow = False, startangle = 90)

autopct: 表示块中的数据表示格式
shadow:: 若为False则饼图为平面图,若为True则会显示阴影
startangle: 表示绘制饼图的初始角度位置

结果
python(二):数据可视化之matplotlib_第7张图片
如果绘制的饼图不圆,则应添加下列语句

plt.axis('equal')

保证x轴与y轴是相等的

直方图hist

np.random.seed(0) #设置random的随机数种子为0
mu, sigma = 100, 20 # 均值,方差
a = np.random.normal(mu, sigma, size = 100) #按照均值为100,方差为20 的正态分布生成100个随机数

plt.hist(a, 20, normed = 1, histtype = 'stepfilled', facecolor = 'b', alpha = 0.75)
plt.title('Histogram')

结果
python(二):数据可视化之matplotlib_第8张图片

散点图scatter

matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, *, data=None, **kwargs)[source]

x,y : 点坐标。

s : 标记大小
c : 颜色,序列或颜色序列,可选

marker : MarkerStyle,可选,标记样式。

alpha : 标量,可选,默认值:无 标记透明度
介于0(透明)和1(不透明)之间。

linewidths : 标量或array_like,可选,默认值:无
标记边缘的线宽。

edgecolors : 颜色或颜色序列,可选,默认:‘face’
标记的边缘颜色。
python(二):数据可视化之matplotlib_第9张图片

fig, ax = plt.subplots(1,2,figsize=(10,10))
x = np.random.rand(50)
y = np.random.rand(50)
colors = np.random.rand(50)
area = (30 * np.random.rand(50))**2  # 0 to 15 point radii

ax[1].scatter(x, y, s=area, c=colors, alpha=0.5)
plt.show()

参考

The Data Scientist’s Toolbox Tutorial - 2
Python数据分析与展示
matplotlib

你可能感兴趣的:(机器学习)