散点图
如果需要研究两个数值型变量之间是否存在某种关系,例如正向的线性关系,或者是趋势性的非线性关系,那么散点图将是最佳的选择;
scatter(x, y, s=20, c=None, marker='o', alpha=None, linewidths=None, edgecolors=None) x:指定散点图的x轴数据 y:指定散点图的y轴数据 s:指定散点图点的大小,默认为20,通过传入其他数值型变量,可以实现气泡图的绘制 c:指定散点图点的颜色,默认为蓝色,也可以传递其他数值型变量,通过cmap参数的色阶表示数值大 小 marker:指定散点图点的形状,默认为空心圆 alpha:设置散点的透明度 linewidths:设置散点边界线的宽度 edgecolors:设置散点边界线的颜色
# 读入数据
iris = pd.read_csv(r'D:\pylearn\10\iris.csv')
# 绘制散点图
plt.scatter(x = iris.Petal_Width, # 指定散点图的x轴数据
y = iris.Petal_Length, # 指定散点图的y轴数据
color = 'steelblue' # 指定散点图中点的颜色
)
# 添加x轴和y轴标签
plt.xlabel('花瓣宽度')
plt.ylabel('花瓣长度')
# 添加标题
plt.title('鸢尾花的花瓣宽度与长度关系')
# 显示图形
plt.show()

气泡图
气泡图的实质就是通过第三个数值型变量控制每个散点的大小,点越大,代表的第三维数值越高,反之亦然;
气泡图的绘制,使用的仍然是scatter函数,区别在于函数的s参数被赋予了具体的数值型变量;
热力图的绘制
热力图也称为交叉填充表,图形最典型的用法就是实现列联表的可视化,即通过图形的方式展现两个离散变量之间的组合关系;
sns.heatmap(data, cmap=None, annot=None, fmt='.2g', annot_kws=None, linewidths=0, linecolor='white)#seaborn包中的heatmap函数' data:指定绘制热力图的数据集 cmap:指定一个colormap对象,用于热力图的填充色 annot:指定一个bool类型的值或与data参数形状一样的数组,如果为True,就在热力图的每个单元上显示数值 fmt:指定单元格中数据的显示格式 annot_kws:有关单元格中数值标签的其他属性描述,如颜色、大小等 linewidths :指定每个单元格的边框宽度 linecolor:指定每个单元格的边框颜色
import numpy as np
import seaborn as sns
# 读取数据
Sales = pd.read_excel(r'D:\pylearn\10\Sales.xlsx')
# 根据交易日期,衍生出年份和月份字段
Sales['year'] = Sales.Date.dt.year
Sales['month'] = Sales.Date.dt.month
# 统计每年各月份的销售总额(绘制热力图之前,必须将数据转换为交叉表形式)
Summary = Sales.pivot_table(index = 'month', columns = 'year', values = 'Sales', aggfunc = np.sum)
# 绘制热力图
sns.heatmap(data = Summary, # 指定绘图数据
cmap = 'PuBuGn', # 指定填充色
linewidths = .1, # 设置每个单元格边框的宽度
annot = True, # 显示数值
fmt = '.1e' # 以科学计算法显示数据
) #添加标题
plt.title('每年各月份销售总额热力图')
# 显示图形
plt.show()

浙公网安备 33010602011771号