数据可视化之Seaborn控制图的美感和调色板设置

mac2026-08-31  7

解决绘图中乱码问题

plt.rcParams['axes.unicode_minus'] = False # 解决坐标轴刻度负号乱码 import seaborn as sns sns.set_style('whitegrid',{'font.sans-serif':['simhei','Arial']}) # 解决中文乱码问题

导入相应的模块

import numpy as np np.random.seed(sum(map(ord, "aesthetics"))) import matplotlib as mpl import matplotlib.pyplot as plt

控制图的美感

定义一个绘图函数 def sinplot(flip=1): x = np.linspace(0, 14, 100) for i in range(1, 7): plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip) Matplotlib 默认的绘图样式,直接调用 sinplot() # matplotlib 默认的绘图样式 Seaborn默认的绘图样式 sns.set() sinplot() 调整图形大小 sns.set(rc = {"figure.figsize":(12,4)}) sinplot() Seaborn的画图样式 sns.set_style("whitegrid") # darkgrid whitegrid dark white ticks sinplot() Seaborn对画图样式的边框线进行操作 sinplot() sns.despine() # 去掉“white”和“ticks”的样式上顶部和右轴的边框线 sns.despine()函数 sns.despine(fig=None, ax=None, top=True, right=True, left=False, bottom=False, offset=None, trim=False) data = np.random.normal(size=(20, 6)) + np.arange(6) / 2 f, ax = plt.subplots() sns.violinplot(data=data) # sns.despine(offset=10, trim=True); # offset,将边线从坐标轴移开一定距离 sns.despine(offset=10, trim=False); # trim,如果为True,将边线限制在最小和最大的主tick上 # sns.despine(offset=30, trim=True); 暂定设置图形式 with sns.axes_style("darkgrid"): plt.subplot(211) sinplot() # 以“darkgrid”样式画图 plt.subplot(212) sinplot(-1) # 以默认样式画图 查看Seaborn样式的主要参数 sns.axes_style() 设置相关参数 sns.set_style("darkgrid", {"axes.facecolor": ".9"}) sinplot() 绘图上下文参数 sns.set_context(context=None, font_scale=1, rc=None) # 参数 # context :"notebook", "paper", "talk", and "poster"

选择调色板

导入相应的模块 import numpy as np import seaborn as sns import matplotlib.pyplot as plt sns.set(rc={"figure.figsize": (6, 6)}) np.random.seed(sum(map(ord, "palettes")))

选择调色板

参考文档

控制图的美感

最新回复(0)