roc*_*ves 7 python plot matplotlib seaborn
在设置绘图美观的教程中,有几种不同的方法:
set_styleset_contextaxes_style其中每一个都接受一个rc关键字参数字典。在上述三个功能的每个单独的 API 页面中,都显示:
rcdict,可选:用于 覆盖预设seaborn样式字典中的值的参数映射。这仅更新被视为样式定义一部分的参数。
回到教程页面,下面axes_style详细说明了如何查看rc该函数的字典可使用哪些参数:
如果您想查看包含哪些参数,可以只调用不带参数的函数,这将返回当前设置:
但是,在其他函数上使用它总是返回None。因此,例如,我使用以下 matplotlib 和 seaborn 的组合来设置参数:
mpl.rcParams['figure.figsize'] = [16,10]
viz_dict = {
'axes.titlesize':18,
'axes.labelsize':16,
}
sns.set_context("notebook", rc=viz_dict)
sns.set_style("whitegrid")
Run Code Online (Sandbox Code Playgroud)
我还注意到,将我的字典放入set_style方法中不会执行任何操作,而至少对于这些参数,它仅适用于set_context. 这意味着它们各自具有可以编辑的互斥特征。然而,文档中的任何地方都没有概述这一点。
我想知道这三个函数中的哪一个将接受 的参数figsize。我也很想知道他们还接受哪些可以帮助我微调事情的内容。我的目标是尽可能频繁地专门使用seaborn 界面。我不需要对 matplotlib 提供的东西进行微调控制,而且常常觉得它很尴尬。
Wil*_*ler 10
答案似乎是“以上都不是”。此处列出了set_style和 的有效键:set_context
_style_keys = [
"axes.facecolor", "axes.edgecolor",
"axes.grid", "axes.axisbelow", "axes.labelcolor",
"figure.facecolor", "grid.color",
"grid.linestyle", "text.color",
"xtick.color", "ytick.color",
"xtick.direction", "ytick.direction",
"lines.solid_capstyle",
"patch.edgecolor", "patch.force_edgecolor",
"image.cmap", "font.family", "font.sans-serif",
"xtick.bottom", "xtick.top",
"ytick.left", "ytick.right",
"axes.spines.left", "axes.spines.bottom",
"axes.spines.right", "axes.spines.top",]
_context_keys = [
"font.size", "axes.labelsize",
"axes.titlesize", "xtick.labelsize",
"ytick.labelsize", "legend.fontsize",
"axes.linewidth", "grid.linewidth",
"lines.linewidth", "lines.markersize",
"patch.linewidth",
"xtick.major.width", "ytick.major.width",
"xtick.minor.width", "ytick.minor.width",
"xtick.major.size", "ytick.major.size",
"xtick.minor.size", "ytick.minor.size",]
Run Code Online (Sandbox Code Playgroud)
另请注意,这set_style只是一个调用axes_style.
所以你必须使用matplotlib.rcParams,尽管如果典型的rcParams['figure.figsize'] = [16,10]语法不适合你当然可以创建你自己的样式。