【发布时间】:2018-02-22 06:04:11
【问题描述】:
我正在尝试单独调节刺的偏移量。例如,我希望左侧脊柱的距离比底部脊柱的距离大。 在文档中它说 offset-keyword 也接受字典;但是,我收到一条错误消息,但我不知道这意味着什么。令人惊讶的是,我找不到任何字典偏移组合的示例。
http://seaborn.pydata.org/generated/seaborn.despine.html
偏移量:int 或 dict,可选 绝对距离,以点为单位,刺应该远离轴(负值将刺向内移动)。单个值适用于 所有的刺; dict 可用于设置每边的偏移值。
这是我的无效示例代码:
sns.despine(ax=ax, trim=True, offset={'left':10,'right':10,'top':20,'bottom':13})
这是错误信息:
TypeError: unsupported operand type(s) for *: 'dict' and 'int'
总结: 我想知道如何单独设置每个脊椎的偏移量;最好使用 seaborn.despine。 (关于错误告诉我的其他解释也将不胜感激。)
谢谢:-)
编辑:
我尝试了 ImportanceOfBeingErnest 中的示例代码(仅添加了 'ticks' 作为样式),但仍然得到相同的结果。任何想法为什么会发生这种情况?
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('ticks')
fig,ax=plt.subplots()
ax.plot([1,2,3])
sns.despine(ax=ax, trim=True, offset={'left':10,'right':10,'top':20,'bottom':13})
plt.show()
情节显示出来了,但脊椎根本没有改变。
TypeError: unsupported operand type(s) for *: 'dict' and 'int'
【问题讨论】:
-
似乎在这里工作。也许发布minimal reproducible example。
-
是的,它不可重现。使用上述内容时,我会得到something like this。
-
我更新了答案并添加了建议的迷你示例。
-
很难看出错误从何而来;通常,使示例可验证还意味着说明完整的错误回溯(不仅仅是最后一行)并说明正在使用的库的版本。我最好的猜测是您使用的是旧版本的 seaborn 或 matplotlib 或它们的一些不兼容的组合。
-
你确定你有最新版本的seaborn吗?这是一个非常新的功能。
标签: python matplotlib seaborn