6.5 散点图

6.5.1散点图简介

散点图(scatter diagram)表示因变量随自变量而变化的大致趋势,据此可以选择合适的函数对数据点进行拟合。
用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。散点图将序列显示为一组点,值由点在图表中的位置表示,类别由图表中的不同标记表示,散点图通常用于比较跨类别的聚合数据。如图所示:

6.5 散点图_第1张图片
散点图的相关性

由上图可以看出,左图x轴和y轴表现出强相关关系,而右图数据点比较分散,相关性不大。

6.5.2 散点图的绘制

我们依旧以电影网站评分数据为例绘制散点图,调用的是matplotlib库中的scatter方法。示例代码:

import pandas as pd
import matplotlib.pyplot as plt
reviews = pd.read_csv("fandango_scores.csv")
cols = ['FILM', 'RT_user_norm', 'Metacritic_user_nom', 'IMDB_norm', 'Fandango_Ratingvalue', 'Fandango_Stars']
norm_reviews = reviews[cols]
fig, ax = plt.subplots()
ax.scatter(norm_reviews['Fandango_Ratingvalue'], norm_reviews['RT_user_norm'])
ax.set_xlabel('Fandango')
ax.set_ylabel('Rotten Tomatoes')
plt.show()

显示结果:

6.5 散点图_第2张图片
两电影网站评分

以上结果返回的是Fandango_Ratingvalue和RT_user_norm两个网站分别在x轴和y轴对每部电影的评分值,由结果可以看出,两个网站评分趋势成一定的相关关系。

6.5.3 绘制多个散点图子图

我们也可以利用生成多子图操作做转置对比,示例代码:

fig = plt.figure(figsize=(5,10))
ax1 = fig.add_subplot(2,1,1)
ax2 = fig.add_subplot(2,1,2)
ax1.scatter(norm_reviews['Fandango_Ratingvalue'], norm_reviews['RT_user_norm'])
ax1.set_xlabel('Fandango')
ax1.set_ylabel('Rotten Tomatoes')
ax2.scatter(norm_reviews['RT_user_norm'], norm_reviews['Fandango_Ratingvalue'])
ax2.set_xlabel('Rotten Tomatoes')
ax2.set_ylabel('Fandango')
plt.show()

显示结果:

6.5 散点图_第3张图片
电影评分网站对比

上图分别将Fandango_Ratingvalue和RT_user_norm两个网站的值进行x轴和y轴的转置,由两图对比也可以看出,两网站评分有一定的相关关系。

你可能感兴趣的:(6.5 散点图)