matplotlib boxplot颜色

Nic*_*llo 7 numpy matplotlib

我正在尝试创建一个包含y和x的数据集的盒子和胡须图.我发现了一个有用的例子,在matplotlib中使用numpy和scipy在Python制作binned boxplot.问题现在非常简单.如何在matplotlib.pyplot.boxplot中指定框的颜色,因为我想将其设置为透明,以便让读者也能看到原始数据.我知道http://matplotlib.sourceforge.net/examples/pylab_examples/boxplot_demo2.html中有一个示例,但有什么比这简单吗?在boxplot中直接设置盒子颜色的不可能看起来很奇怪谢谢你提前

小智 9

您可以将原始数据渲染为箱线图后面的散点图,然后隐藏箱线图的传单.

import pylab
import numpy

pylab.figure()

data = [numpy.random.normal(i, size=50) for i in xrange(5)]

for x, y in enumerate(data):
    pylab.scatter([x + 1 for i in xrange(50)], y, alpha=0.5, edgecolors='r', marker='+')

bp = pylab.boxplot(data)
pylab.setp(bp['boxes'], color='black')
pylab.setp(bp['whiskers'], color='black')
pylab.setp(bp['fliers'], marker='None')

pylab.xlim(0,6)

pylab.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 我终于找到了解决方案.我要在框图中设置Patches创建的属性(使用path_artist = True),如此pylab.setp(bp ['boxes'],facecolor ='cyan',alpha = 0.5) (2认同)