问题描述
我正在尝试制作一个显示 0.25 和 0.75 分位数的小提琴图,但一直收到 TypeError,尽管文档表明这是一个有效的关键字。
这是我的代码:
grid = plt.GridSpec(1,1,wspace=0.15,hspace=0.1)
plotplag = fig.add_subplot(grid[0,0])
plotplag.set_xticks([1,2,3,4,5,6,7,8])
plotplag.violinplot([S95BCore_an,S95BRim_an,S98Core_an,S98Rim_an,VHCoreLZ_an,VHRimLZ_an,VHCoreUZ_an,VHRimUZ_an],showmeans=True,quantiles=[[0.75],[0.25]])
plotplag.set_xticklabels(['S95B Core','S95B Rim','S98 Core','S98 Rim','MS LZ Core','MS LZ Rim','MS UZ Core','MS UZ Rim'])
plotplag.set_ylabel('An# (mol. %)',fontsize=16)
解决方法
您是否尝试过 quantiles = [0.75,0.25]
而不是 quantiles=[[0.75],[0.25]]
?离开这里的例子:https://matplotlib.org/devdocs/gallery/statistics/violinplot.html
也可能是版本问题:从命令行尝试:
$ pip install -U matplotlib
,
我认为这是因为您的分位数应该是一个列表,即
quantiles =[0.75,0.25])