matplotlib基础绘图命令之violinplot |
您所在的位置:网站首页 › matplotlib画图函数 › matplotlib基础绘图命令之violinplot |
在matplotlib中,violinplot方法用于绘制小提琴图,基本用法如下plt.violinplot(dataset=np.random.normal(size=1000)) 输出结果如下 violinplot方法常用的参数有以下几个 1. vert,控制图形的方向 2. showmeans, 是否在图中显示均值 3. showmedians,是否在图中显示中位数 4. showextrema, 是否在图中显示最大值和最小值 下面来具体看下其中几个参数的用法 1. vert vert参数的默认值为True,表示竖直方向的小提琴图,当取值WieFalse时,绘制水平方向的小提琴图,用法如下 plt.violinplot(dataset=np.random.normal(size=1000),vert=False)输出结果如下 2. showmeans showmeans参数的默认值为False, 此时不在图中显示均值,当取值为True时,会用横线表示均值,用法如下 plt.violinplot(dataset=np.random.normal(size=1000),showmeans=True)输出结果如下 3. showmedians showmedians参数的默认值为False, 此时不在图中显示中位数,当取值为True时,会用横线表示中位数,用法如下 plt.violinplot(dataset=np.random.normal(size=1000),showmedians=True)输出结果如下 4. showextrema showextrema参数的默认值为True, 此时在图中用类似error bar的方式来显示最小值和最大值,当取值为False时,不显示对应的值,用法如下 plt.violinplot(dataset=np.random.normal(size=1000),showextrema=False)输出结果如下 和boxplot类似, 对于violinplot的个性化调整也是通过其返回值来实现,在实际运用中,主要是通过返回值中的bodies元素开设置颜色,用法如下 np.random.seed(19680801)data = [np.random.normal(size=500), np.random.normal(size=1000)]violin = plt.violinplot(dataset=data, showextrema=False)for patch in violin['bodies']: patch.set_facecolor('#D43F3A') patch.set_edgecolor('black') patch.set_alpha(1)for i,d in enumerate(data): min_value,quantile1, median, quantile3, max_value = np.percentile(d, [0, 25, 50, 75, 100]) print(median) plt.scatter(i+1, median, color='white',zorder=4) plt.vlines(i+1,quantile1, quantile3, lw=9, zorder=3) plt.vlines(i+1,min_value, max_value, zorder=2)plt.xticks(ticks=[1,2], labels=['A', 'B'])上述代码首先通过bodies元素,设置了小提琴图中的填充色和边框颜色,透明度等信息,然后通过手动计算百分位数的位置,对其进行了个性化调整,输出结果如下 matplotlib作为基础的绘图函数,和seaborn等更高封装的可视化模块相比,在直接出图的效果上可能并不直观简便,但是确保留了足够的灵活性。 ·end· |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |