2
我想改变Seaborn boxplot中的框的外观。我希望所有的框都是透明的,并且要从列表中指定框边框。这里是我一起工作的代码:Seaborn boxplot box从Python列表中分配自定义边缘颜色
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
df = pd.DataFrame(np.random.rand(10,4),columns=list('ABCD'))
df['E'] = [1,2,3,1,1,4,3,2,3,1]
sns.boxplot(x=df['E'],y=df['C'])
# Plotting the legend outside the plot (above)
box = ax.get_position()
ax.set_position([box.x0, box.y0 + box.height * 0.1, box.width, box.height * 0.9])
handles, labels = ax.get_legend_handles_labels()
leg = plt.legend(handles[0:2], labels[0:2],
loc='upper center', bbox_to_anchor=(0.5, 1.10), ncol=2)
plt.show()
这post显示了如何改变一个单框的颜色和箱体edgecolor。但是,我想根据这样的列表分配框边框颜色,如box_line_col = ['r','g',b','purple']
。上面的代码会在图中生成4个框 - 我想从第一个(最左边的)框开始并继续到最后一个(最右边的)框,分配自定义框边缘颜色。
是否可以从列表中指定盒子边缘颜色,同时保持盒子本身透明(facecolor = white)?
[This](http://stackoverflow.com/questions/36874697/how-to-edit-properties-of-whiskers-fliers-caps-etc-in-seaborn-boxplot/36893152#36893152)回答我的问题类似的问题可以帮助你。 – dsholes