Kaggle、Python数据可视化seaborn(六):自定义图表
到目前为止,您已经学习了如何创建许多不同的图表类型。现在,再学习一些可以用来改变图表样式的快速命令。
你学到了什么?
由于决定如何最好地讲述数据背后的故事并不总是很容易,因此我们将图表类型分为三大类来帮助解决这个问题。
趋势——趋势被定义为变化的模式。
sns.lineplot
-线状图最适合显示一段时间内的趋势,多条线可以用来显示多个组中的趋势。
关联 - 您可以使用许多不同的图表类型来理解数据中变量之间的关系。
sns.barplot
- 条形图用于比较不同组对应的数量。sns.heatmap
- 热力图采用颜色的深浅、点的疏密以及呈现比重的形式。sns.scatterplot
- 散点图显示了两个连续变量之间的关系;如果用颜色标识,我们还可以显示与第三个分类变量的关系。sns.regplot
- 在散点图中包含一条回归线可以更容易地看到两个变量之间的任何线性关系。sns.lmplot
- 如果散点图包含多个颜色编码的组,此命令对于绘制多个回归线很有用。sns.swarmplot
- 分类散点图显示连续变量和分类变量之间的关系。
分布 - 我们可视化分布,以显示我们可以期望在变量中看到的可能值,以及它们的可能性。
sns.distplot
- 直方图表示单个数值变量的分布。sns.kdeplot
- KDE图(或2D KDE图)显示了单个数值变量(或两个数值变量)的估计、平滑分布。sns.jointplot
- 此命令对于同时显示2D KDE图以及每个单独变量对应的KDE图非常有用。
改变风格
所有的命令都为每个图提供了一个漂亮的默认样式。但是,您可能会发现定制您的图的外观很有用,幸运的是,只需添加多一行代码就可以实现这一点!
与往常一样,我们需要从设置编码环境开始。
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
print("Setup Complete")
我们将使用与在前一个教程中创建折线图相同的代码。下面的代码加载数据集并创建图表。
# Path of the file to read
spotify_filepath = "../input/spotify.csv"
# Read the file into a variable spotify_data
spotify_data = pd.read_csv(spotify_filepath, index_col="Date", parse_dates=True)
# Line chart
plt.figure(figsize=(12,6))
sns.lineplot(data=spotify_data)
输出:
<matplotlib.axes._subplots.AxesSubplot at 0x7f07838a9e10>
我们可以使用一行代码快速将图形的样式更改为不同的主题。
# Change the style of the figure to the "dark" theme
sns.set_style("dark")
# Line chart
plt.figure(figsize=(12,6))
sns.lineplot(data=spotify_data)
输出:
<matplotlib.axes._subplots.AxesSubplot at 0x7f077fdfba90>
seaborn有五个不同的主题:(1)"darkgrid"
, (2)"whitegrid"
, (3)"dark"
,(4)"white"
,(5)"ticks"
,您只需要使用与上面代码单元格中类似的命令(填入所选主题)来更改它。
本地运行代码:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from pandas.plotting import register_matplotlib_converters
register_matplotlib_converters()
# Path of the file to read
spotify_filepath = "data-for-datavis//spotify.csv"
# Read the file into a variable spotify_data
spotify_data = pd.read_csv(spotify_filepath, index_col="Date", parse_dates=True)
# Line chart
plt.figure(figsize=(12,6))
# Change the style of the figure to the "dark" theme
# 必须在lineplot函数之前
sns.set_style("dark")
sns.lineplot(data=spotify_data)
plt.show()