机器学习 可视化库Seaborn 为什么我的图 纵坐标一直有黑黑的一团?
这是seaborn可以做什么的一个例子:
# Import seaborn
import seaborn as sns
# Apply the default theme
sns.set_theme()
# Load an example dataset
tips = sns.load_dataset("tips")
# Create a visualization
sns.relplot(
data=tips,
x="total_bill", y="tip", col="time",
hue="smoker", style="smoker", size="size",
)
这里发生了一些事情。 让我们一一介绍:
# Import seaborn
import seaborn as sns
Seaborn 是我们需要为这个简单示例导入的唯一库。按照惯例,它是用缩写sns导入的。
在幕后,seaborn使用matplotlib绘制绘图。对于交互式工作,建议在matplotlib模式下使用Jupyter或IPython接口,否则,当您想查看绘图时,必须调用 matplotlib.pyplot.show()。
# Apply the default theme
sns.set_theme()
这使用了matplotlib rcParam系统,并且会影响所有matplotlib图的外观,即使您没有使用seaborn制作它们。除了默认主题之外,还有其他几个选项,您可以独立控制绘图的样式和缩放比例,以在演示上下文之间快速转换您的工作(例如,制作在演讲期间投影时具有可读字体的图形版本)。如果您喜欢matplotlib默认值或喜欢不同的主题,您可以跳过这一步并仍然使用seaborn绘图功能。
(注:出现错误提示module ‘seaborn’ has no attribute ‘set_theme’,可能为Seaborn版本较老,在cmd中使用指令pip install -U seaborn即可)
# Load an example dataset
tips = sns.load_dataset("tips")
文档中的大多数代码将使用load_dataset()函数来快速访问示例数据集。这些数据集没有什么特别之处:它们只是Pandas数据帧,我们可以使用 pandas.read_csv()加载它们或手动构建它们。文档中的大多数示例将使用Pandas数据框指定数据,但seaborn对于它接受的数据结构非常灵活。
(注:若出现错误“TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败”,可能为计算机C:/user/用户名/ 文件夹内无seaborn-data文件夹,该文件夹可在https://github.com/mwaskom/seaborn-data下载)
# Create a visualization
sns.relplot(
data=tips,
x="total_bill", y="tip", col="time",
hue="smoker", style="smoker", size="size",
)
该图采用对seaborn函数relplot()的一次调用,显示了tips数据集中五个变量之间的关系。注意我们是如何仅提供变量的名称及其在图中的作用的。与直接使用matplotlib不同,我们没有必要根据颜色值或标记代码指定绘图元素的属性。在幕后,seaborn处理了从数据帧中的值到matplotlib理解的参数的转换。这种声明式方法让您可以专注于想要回答的问题,而不是关注如何控制matplotlib的细节。