【发布时间】:2016-02-01 10:06:23
【问题描述】:
我正在尝试使用 seaborn 为(可能很大)数量的 matplotlib 子图设置轴属性。我想做的是通过一次调用plt.subplots 生成所有图,然后在生成每个实际图时设置子图样式。不幸的是,似乎 sns 样式仅在生成子图时才重要。
下面的代码是一个最小(非)工作示例。理想情况下,这两个子图会有两种不同的风格,但它们没有。
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
def makeplt(sub, dat):
sub.contour(dat)
def makepltwith(sub, dat, style):
with sns.axes_style(style) as sty:
sub.contour(dat)
dat = np.arange(100).reshape(10, 10)
with sns.axes_style('ticks'):
fig, subs = plt.subplots(ncols=2)
makeplt(subs[0], dat)
makepltwith(subs[1], dat, 'darkgrid')
plt.show()
有没有办法确保第二个情节具有我想要的格式?我自己的最佳想法是利用sty 对象手动重新格式化sub 对象,但我无法想出一个简洁的方法来运行格式化。
seaborn.__version__=0.7,
matplotlib.__version__=1.5 如果这很重要。
【问题讨论】:
标签: python-3.x matplotlib seaborn