可视化视图都有哪些?
按照数据之间的关系:
- 比较:比较数据间各类别的关系,或者是它们随着时间的变化趋势,比如折线图;
- 联系:查看两个或两个以上变量之间的关系,比如散点图;
- 构成:每个部分占整体的百分比,或者是随着时间的百分比变化,比如饼图;
- 分布:关注单个变量,或者多个变量的分布情况,比如直方图。
按照变量的个数,划分为单变量分析和多变量分析:
- 单变量分析指的是一次只关注一个变量。比如我们只关注“身高”这个变量,来看身高的取值分布,而暂时忽略其他变量。
- 多变量分析可以让你在一张图上可以查看两个以上变量的关系。比如“身高”和“年龄”,你可以理解是同一个人的两个参数,这样在同一张图中可以看到每个人的“身高”和“年龄”的取值,从而分析出来这两个变量之间是否存在某种联系。
可视化的视图多种多样,常用的 10 种视图包括了散点图、折线图、直方图、条形图、箱线图、饼图、热力图、蜘蛛图、二元变量分布和成对关系。
下面使用python 绘制图形:
- 绘制散点图:
- 使用matplotlib工具包:使用 plt.scatter(x, y, marker=None) 函数。x、y 是坐标,marker 代表了标记的符号。比如“x”、“>”或者“o”;
- 使用 seaborn 工具包:使用 sns.jointplot(x, y, data=None, kind=‘scatter’) 函数。其中 x、y 是 data 中的下标。data 就是我们要传入的数据,一般是 DataFrame 类型。kind 这类我们取 scatter,代表散点的意思。当然 kind 还可以取其他值,不同的 kind 代表不同的视图绘制方式。
代码实现:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#数据准备
N=1000
x=np.random.randn(N)
y=np.random.randn(N)
#使用matplotlib绘图
plt.scatter(x,y,marker="o")
plt.show()
#使用seaorn绘图
df=pd.DataFrame({
"x":x,"y":y})
sns.jointplot(x="x",y="y",data=df,kind="scatter")
plt.show()
输出:
2. 绘制折线图:
- 使用matplotlib工具包:使用 plt.plot(x, y) 函数。x、y 是坐标,需要提前对数据按照x大小进行排序;
- 使用 seaborn 工具包:使用 sns.lineplot(x, y, data=None) 函数。其中 x、y 是 data 中的下标。data 就是我们要传入的数据,一般是 DataFrame 类型;
#绘制折线图
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#数据准备
x=[2010,2011,2012,2013,2014,2015,2016,2017,2018,2019]
y=[5,3,6,20,17,16,19,30,32,35]
#使用matplotlib画折线图
plt.plot(x,y)
plt.show()
#使用seanborn绘制折线图
df=pd.DataFrame({
"x":x,"y":y