Seaborn 可视化进阶之 FacetGrid 结构图

网站建设4年前发布
102 0 0

20230305205428859b4c389323de575d44389623b631127a98ae334,FacetGrid 可以通过 col 和 row 等参数来一次性构建多个图形。,relplot 、catplot 、lmplot 等函数可以通过 col 、row 等在一个 Figure 中绘制多个图。这个函数之所以有这些功能,是因为函数底层使用了 FacetGrid 来组装这些图形。,FacetGrid 绘图的 x 和 y 参数必须为 DataFrame 的列的名字。而直接使用 Axes 绘图,参数更灵活。,实际上 Seaborn 的绘图函数中也有大量的直接使用 Axes 进行绘图的,凡是函数名中已经明确显示了这个图的类型,这种图都是使用 Axes 绘图的。比如 sns.scatterplot 、sns.lineplot 、 sns.barplot 等。Axes 绘图可以直接使用之前的 matplotlib 的一些方式设置图的元素。,202303052053382412e1946935dd1c49d9226f4d6ab3b35767c2378,20230305205338e2bb892799260bf7bfa437e7eff8f2a52b70cf582,20230305205429213b54429eb0518b5d258228f6bab9c23c3de1327,先创建一个 FacetGrid 对象,然后再调用这个对象的 map 方法。其中 map 为方法的第一个参数是一个函数,后续 map 将调用这个函数来绘制图形。后面的参数就是传给这个函数的参数。,其中第一个参数是可以绘制 Axes 图,并且可以接受 color 参数的函数。可以取的值如下:,2023030520533962aa04572b701060a1a0050ed7e19f7f198e90243,FacetGrid 可以通过 col 和 row 参数在一个 Figure 上绘制多个图形,其中 col 和 row 都是数据集中的某个列的名字。只要指定这个名字,那么就会自动的按照指定列的值的个数绘制指定个数的图形。,20230305205339e19b2d992f772cd2c58178ff62b7bd746e449f883,可以通过添加 hue 参数来控制每个图中元素的颜色来观察其他的字段,20230305205340d2def73131baf7d4859871e0582009479a9f1d898,使用 FacetGrid 绘制出图形后,如果设置每个图形的尺寸或者是宽高比,可以通过在 FacetGrid 中设置 height 和 aspect 来实现,其中 height 表示的是每个图形的尺寸(默认是宽高一致),aspect 表示的是 宽度/高度 的比例。,20230305205429f231aa426cc2cf8bf36067349f76ce9f883140344,默认情况下不会添加图例,我们可以通过 g.add_legend() 来添加图例。,(1)通过 title 来控制图例的标题,(2)通过 label_order 来控制图例元素的顺序,2023030520534134af6c3462ee58d6188552feab4419bd312cf0211,设置标题可以通过:,来实现,这三个参数分别代表的意义如下:,20230305205341d3aaee260ce19c21bbf8873cbfd87242dd73ea348,20230305205429f3ada5433c7bc32482232645c12738302d7dde899,g.set 方法可以对 FacetGrid 下的每个子图 Axes 设置属性。其中可以设置的参数完全是根据 Axes 的属性来的。比如可以设置每个 Axes 的 facecolor 等。详情可查询 matplotlib.Axes官方文档,通过 g.fig 可以获取到当前的 Figure 对象,然后通过 Figure 对象再可以设置其他属性,比如 dip 等。,

© 版权声明

相关文章