数据可视化指的是通过可视化表示来探索数据,它与数据挖掘紧密相关。
总的来说数据可视化能让人们更直观的看到数据的特点。其实数据可视化也是对数据进行处理,只不过是以图表方式来表现的。
下面将介绍几种用matplotlib库来实现可视化的方法。
数据可视化还有数据描述性统计,就是算出方差,均值,中位数等等。
def des(self,n):
def status(x):
return pd.Series([x.count(),x.min(),x.idxmin(),x.quantile(.25),x.median(),
x.quantile(.75),x.mean(),x.max(),x.idxmax(),x.mad(),x.var(),
x.std(),x.skew(),x.kurt()],index=['总数','最小值','最小值位置','25%分位数',
'中位数','75%分位数','均值','最大值','最大值位数','平均绝对偏差','方差','标准差','偏度','峰度'])
df = pd.DataFrame(n, columns=['x1','x2','x3'])#输入数组
print(df.head())
print(df.apply(status))
一、直方图
import matplotlib as plt
plt.hist(data, normed=1)
#其实hist函数还有很多参数
二、水平条形图
# 指定默认字体(防止中文出现乱码)
mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定‘仿宋’字体
# 水平柱形图---条形图
fig, ax = plt.subplots()
ax.barh(x, y, 0.5, color='skyblue') # 0.5是设置的柱子的宽度
ax.set(title='水平条形图', xlabel='x', ylabel='y')
plt.show()
三、热力图
# 绘制x-y-z的热力图,比如 年-月-销量 的热力图
f, ax = plt.subplots(figsize=(9, 6))
#绘制热力图,还要将数值写到热力图上
#每个网格上用线隔开,data是df类型
sns.heatmap(data, annot=True, fmt="d", linewidths=0.5, ax=ax,cmap = "YlGnBu")
#设置坐标字体方向并保持水平对齐
label_y = ax.get_yticklabels()
plt.setp(label_y, rotation=360, horizontalalignment='right')
label_x = ax.get_xticklabels()
plt.setp(label_x, rotation=45, horizontalalignment='right')
plt.show()
四、折线图
# 获取'column'这一列的值
y = df['column'].values
# 获取索引列的值(年份)
x = df.index.values
# 指定默认字体(防止中文出现乱码)
mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定‘仿宋’字体
# 折线图
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set(title=None, xlabel=None, ylabel=None) # 中文出现乱码,要先设置字体
plt.show()
五、散点图
# 指定默认字体(防止中文出现乱码)
mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定‘仿宋’字体
# 折线图
fig, ax = plt.subplots()
ax.scatter(x, y)
ax.set(title=None, xlabel=None, ylabel=None) # 中文出现乱码,要先设置字体
plt.show()