这个夏天,我们徜徉在“数据 + 音乐”的海洋里,通过 Tableau 社区制作的一系列可视化作品,探索音乐趋势、艺人、流派和音乐小镇。比如,Pooja Gandhi 就以可视化形式呈现了热门曲目的音频特征;还有 Sean Miller,他以可视化形式呈现了有史以来最伟大的金属专辑。我们最近举办了一场网络讲座,不仅有我们团队的一些成员现身说法,还请到了 Spotify 的数据可视化设计人员 Skyler Johnson。在这场讲座中,我们与大家分享了如何发掘 Spotify 的“Top 200”(200 首最热金曲)和“Viral 50”(50 首爆火金曲)榜单背后的数据内涵。欢迎阅读这篇博文,了解如何着手连接 Spotify 数据,并制作出基本的仪表板来按国家/地区洞悉热门金曲和艺人背后的一些趋势。

如果您想详细了解如何使用 Spotify API 连接到您自己的 Spotify 收听数据,请观看有 Skyler 参与的这场网络讲座

连接到 Spotify 数据

您可以参考以下步骤,了解如何从 Spotify 的榜单中获取最新数据,并导入到 Tableau 中进行分析。

获取数据:

  1. 前往 https://spotifycharts.com/regional,以便从 Spotify 的热门金曲榜单中下载数据。
  2. 根据您的分析目的是了解最热金曲还是爆火金曲,请分别选择“Top 200”(200 首最热金曲)或“Viral 50”(50 首爆火金曲)。对于本例中的分析,我们将选择 Top 200(200 首最热金曲)。
  3. 使用下拉菜单按具体国家/地区进行筛选,或者选择“Global”(全球)以查看所有国家/地区的数据。对于本例中的分析,我们着重分析 Global(全球)数据,以便了解各个国家/地区的收听习惯。您还可以选择是下载“Daily”(每日)数据还是“Weekly”(每周)数据。对于本例中的分析,我们选择 Daily(每日),然后使用日期下拉菜单选择最近一个日期。
  4. 点击右上角的“Download to CSV”(以 CSV 格式下载)。注:对于 2019 年 7 月 1 日前的所有日期以及所有国家/地区,只要有数据提供,我都按此步骤进行了下载,并将下载到的 CSV 合并成一个名为 Spotify_Daily_Streaming 的文件。您可以点此下载该文件。

导入到 Tableau 中:

  1. 打开 Tableau。在“连接”窗格中,选择“文本文件”,然后打开刚刚下载的 Spotify CSV 文件。
  2. 将该 Spotify_Daily_Streaming CSV 文件拖动到画布上。

最受欢迎的曲目和艺人

我们首先来分析 Spotify 的 200 首最热金曲榜单中最流行的曲目。需要注意的是,我们在统计非重复曲目的数量时,将使用 Track URL(曲目网址)字段作为唯一标识符,因为有些歌曲可能重名。

  1. Track URL(曲目网址)拖动到“列”栏。将“度量”更改为“计数(不同)”。很快就会看到该数据集内有超过 50,000 首曲目。
  2. Artist(艺人)字段拖动到“行”栏。按照数量从大到小排序,即可看到哪位艺人在该数据集内的曲目最多。但需要注意的是,某位艺人在该榜单中的曲目数量最多,并不意味着此艺人的收听次数也最多。从下面的屏幕截图中就可以看到这一点。
  3. 由于我们要显示两个变量之间的关系,因此不妨改而使用散点图视图加以显示。现在可以看到,Drake 一直都有很多首曲目登上 200 首最热金曲榜单,而且这些曲目也有很高的收听量。

既然已经了解了最受欢迎的艺人,接下来我们就分析一下哪些歌曲最为流行。

  1. 创建一个新的工作表。将 SUM(Streams)(收听量总和)添加到“列”栏,将 Track URL(曲目网址)添加到“行”栏。
  2. 按从大到小排序。
  3. Track Name(曲目名称)添加到“行”栏,放在 Track URL(曲目网址)旁边。
  4. 隐藏 Track URL(曲目网址)标题,方法是在“行”栏中右击该胶囊,然后取消选中“显示标题”。从图中可以看出,Ed Sheeran 的“Shape of You”歌曲有超过 40 亿次的收听量!

在各个国家/地区的流行程度

了解各个国家/地区之间的收听习惯有何差别,这总是一件很有意思的事情。接下来,我们就在 Tableau 中使用地图分析各个国家/地区的 Streams(收听量)数据。

  1. 双击“数据”窗格中的 Country(国家/地区)字段。Tableau 可以识别出这是一个地理区域字段,所以它会以地图的形式来呈现数据。
  2. Streams(收听量)字段拖动到“颜色”上,以创建一个填充的地图。色调越深,表示收听量越高;色调越浅,收听量则越低。
  3. Tableau 可能会在右下角显示一些未知的值。双击错误通知,即可查看我们需要对哪些数据进行一些清理工作。看来“Vietnam”(越南)一词拼错了,我们可以通过将它与数据中的相应字段匹配,来手动更正这一错误。此外,Tableau 也未能识别出 Global(全球)字段所表示的是哪个地理区域。该字段表示此数据集内的所有国家/地区。
  4. 使用筛选器排除此 Global(全球)字段,以免影响我们的数据的准确性。

收听量随时间的变化趋势

最后,我们来看看收听量随时间的变化趋势。我们稍后将在仪表板中用到展示这种变化趋势的图表,以便全方位了解每个曲目和艺人的收听量。

  1. 将连续的 WEEK(Date)(日期中的周)添加到“列”栏,再将 SUM(Streams)(收听量总和)添加到“行”栏。
  2. 像我们在上一节的第 4 步中那样,筛选掉 Global(全球)数据。

整合在一起

接下来,让我们将以上所有数据整合到一个仪表板中,看看它们之间有何关系。

  1. 创建一个新仪表板。
  2. 将我们为“最受欢迎的艺人”、“最流行的曲目”和“收听量随时间的变化趋势”制作的工作表以及我们创建的地图拖动到该仪表板上。
  3. 在我们创建的地图以及条形图上,选择用作筛选器
  4. 最后,我们对该地图进行自定义,使其采用 Spotify 的品牌标识色。选择“格式”→“仪表板”,即可设置颜色、网格线等元素的格式。


可以在 Tableau Public 上下载此示例仪表板并与之交互。

这些数据中还蕴藏着很多其他故事,比如季节性变化趋势。如需参考更为深入的教程,请观看“Visualize Your Love of Music”(以可视化形式呈现您对音乐之爱)网络讲座的录像。同时,也欢迎在 Twitter 上使用 #DataPlusMusic 话题标签分享您自己在此数据集中发现的成果。

订阅我们的博客