在matplotlib的boxplot
文档中,我们可以看到:
whiskerprops : dict or None (default) If provided, will set the plotting style of the whiskers
好吧,所以我通过了一个口述,在胡须上设置一些视觉样式:
whiskerprops = {'ls': 'solid', 'lw': 0.5, 'color': '#777777'}
boxplot(..., whiskerprops = whiskerprops)
除了color
,这些设置没有任何效果。在
其他的行为也可以观察到
后来我找到了原因,我会把它贴在答案里。我这样做只是因为其他人可能会面临同样的问题,而文档和教程并没有回答这个问题。在
当您传递dict来设置这些属性中的任何一个时,matplotlib会将元素添加到字典中,避免只覆盖现有的键。但是它不知道某些属性有缩写:如果你有},它将添加{},依此类推。这有两个含义:1)在这里不能使用速记属性名,只能使用长名称;2)您的dict将被修改为调用
ls
,它将添加'linestyle': ' '
,如果你有{boxplot
的副作用。Matplotlib不会像我认为的那样在内部复制。所以如果你想保留原来的dict,你需要copy.deepcopy(props)
。在值得一提的是,这些设置是
matplotlib.lines.Line2D
的参数,有关其他可用属性,请参阅其文档。在相关问题 更多 >
编程相关推荐