更改图形样式与颜色

Seaborn 数据可视化入门

Content Team

DataCamp

为何自定义?

更改样式的原因:

  • 个人偏好
  • 提高可读性
  • 引导解读
Seaborn 数据可视化入门

更改图形样式

  • 图形"样式"包含背景与坐标轴
  • 预设:"white"、"dark"、"whitegrid"、"darkgrid"、"ticks"
  • sns.set_style()
Seaborn 数据可视化入门

默认图形样式("white")

sns.catplot(x="age", 
            y="masculinity_important",
            data=masculinity_data,
            hue="feel_masculine",
            kind="point")

plt.show()

男性气质调查的折线点图

Seaborn 数据可视化入门

图形样式:"whitegrid"

sns.set_style("whitegrid")

sns.catplot(x="age", 
            y="masculinity_important",
            data=masculinity_data,
            hue="feel_masculine",
            kind="point")

plt.show()

白色网格背景的折线点图

Seaborn 数据可视化入门

其他样式

sns.set_style("ticks")

sns.catplot(x="age", 
            y="masculinity_important",
            data=masculinity_data,
            hue="feel_masculine",
            kind="point")

plt.show()

带刻度的折线点图

Seaborn 数据可视化入门

其他样式

sns.set_style("dark")

sns.catplot(x="age", 
            y="masculinity_important",
            data=masculinity_data,
            hue="feel_masculine",
            kind="point")

plt.show()

深色背景的折线点图

Seaborn 数据可视化入门

其他样式

sns.set_style("darkgrid")

sns.catplot(x="age", 
            y="masculinity_important",
            data=masculinity_data,
            hue="feel_masculine",
            kind="point")

plt.show()

深色网格背景的折线点图

Seaborn 数据可视化入门

更改调色板

  • 图形"调色板"更改主要绘图元素的颜色
  • sns.set_palette()
  • 使用预设或自定义调色板
Seaborn 数据可视化入门

发散型调色板

四个示例发散型调色板

Seaborn 数据可视化入门

示例(默认调色板)

category_order = ["No answer", 
                  "Not at all",
                  "Not very", 
                  "Somewhat", 
                  "Very"]

sns.catplot(x="how_masculine",
            data=masculinity_data,
            kind="count",
            order=category_order)

plt.show()

调查响应的计数图

Seaborn 数据可视化入门

示例(发散型调色板)

sns.set_palette("RdBu")

category_order = ["No answer", 
                  "Not at all",
                  "Not very", 
                  "Somewhat", 
                  "Very"]

sns.catplot(x="how_masculine",
            data=masculinity_data,
            kind="count",
            order=category_order)

plt.show()

使用发散型调色板的计数图

Seaborn 数据可视化入门

顺序型调色板

四个示例顺序型调色板

Seaborn 数据可视化入门

顺序型调色板示例

马力 vs. mpg 的散点图(顺序型调色板)

1 Waskom, M. L. (2021). seaborn: statistical data visualization. https://seaborn.pydata.org/
Seaborn 数据可视化入门

自定义调色板

custom_palette = ["red", "green", "orange", "blue",
                  "yellow", "purple"]

sns.set_palette(custom_palette)

自定义颜色名调色板

Seaborn 数据可视化入门

自定义调色板

custom_palette = ['#FBB4AE', '#B3CDE3', '#CCEBC5', 
                  '#DECBE4', '#FED9A6', '#FFFFCC', 
                  '#E5D8BD', '#FDDAEC', '#F2F2F2']

sns.set_palette(custom_palette)

自定义十六进制色值调色板

Seaborn 数据可视化入门

更改尺度

  • 图形"上下文"调整绘图元素与标签的尺度
  • sns.set_context()
  • 由小到大:"paper"、"notebook"、"talk"、"poster"
Seaborn 数据可视化入门

默认上下文:"paper"

sns.catplot(x="age", 
            y="masculinity_important",
            data=masculinity_data,
            hue="feel_masculine",
            kind="point")

plt.show()

notebook 上下文的折线点图

Seaborn 数据可视化入门

更大上下文:"talk"

sns.set_context("talk")

sns.catplot(x="age", 
            y="masculinity_important",
            data=masculinity_data,
            hue="feel_masculine",
            kind="point")

plt.show()

更大上下文的折线点图

Seaborn 数据可视化入门

让我们来练习!

Seaborn 数据可视化入门

Preparing Video For Download...