我正试着画一系列很长的盒子图。我喜欢在violinplot (通过seaborn.violinplot的“内部”参数控制)内部绘制的微型箱形图的美感。有没有人知道一种简单的方法,可以只画这个迷你盒子图,而不需要其他的小提琴图?谢谢!
发布于 2018-10-24 23:51:13
我能够创建一个小提琴want的子类,它可以做我想做的事情。基本上,我只是复制了绘制voilins的代码,并删除了不需要的部分。这显然有点丑陋,但它确实起到了作用。如果其他人想出了一个更优雅的解决方案,请发布你的答案。
您可以在以下位置找到我的解决方案:https://gist.github.com/mdbecker/c21e6a8a6ce893b61eecd880d9f18a83
这会产生如下结果:
发布于 2018-10-25 00:36:45
小提琴是PolyCollection
对象。您可以从轴中移除所有PolyCollection
。如果轴只包含小提琴图而不包含任何其他PolyCollection
,这将是有意义的。
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="whitegrid")
tips = sns.load_dataset("tips")
ax = sns.violinplot(x="day", y="total_bill", data=tips)
from matplotlib.collections import PolyCollection
for a in ax.findobj(PolyCollection):
a.remove()
ax.relim()
ax.autoscale_view()
plt.show()
或者更简单,
for a in ax.collections:
a.remove()
https://stackoverflow.com/questions/52971882
复制相似问题