pyecharts数据可视化入门之4-——箱型图
箱型图适合表现一组数据的统计分布规律,它能显示出一组数据的最大值、最小值、中位数、及上下四分位数。
箱型图的进阶版本是小提琴图,可以展示数据的密度估计曲线,可以用seaborn画出。
from pyecharts import Boxplot x =['1班','2班','3班','4班'] y1=[78, 98, 56, 78, 90.0, 45, 78, 20, 87, 86, 74, 89, 94] y2=[89, 82, 45, 67, 68, 78.0, 79, 98, 71, 56, 78, 81, 80] y3=[90, 80, 60, 89, 76, 73.0, 72, 92, 89, 87, 65, 66, 76] y4=[82, 72, 55, 100, 90.0, 78, 69, 67, 87, 66, 78, 71, 82] box = Boxplot(title = '考试成绩箱型图',width = 600,height = 420) # 预处理数据计算最大值,最小值,中位数以及上下四分位数 y_prepared = box.prepare_data([y1,y2,y3,y4]) box.add(name = '',x_axis = x,y_axis = y_prepared)

用seaborn 进行小提琴图的绘制
import seaborn as sns %matplotlib inline %config InlineBackend.figure_format = 'svg' #设置风格 sns.set(style="white", context="notebook") #处理中文问题 sns.set_style({'font.sans-serif':['simhei', 'Arial']})
x =['1班','2班','3班','4班']
y1=[78, 98, 56, 78, 90.0, 45, 78, 20, 87, 86, 74, 89, 94]
y2=[89, 82, 45, 67, 68, 78.0, 79, 98, 71, 56, 78, 81, 80]
y3=[90, 80, 60, 89, 76, 73.0, 72, 92, 89, 87, 65, 66, 76]
y4=[82, 72, 55, 100, 90.0, 78, 69, 67, 87, 66, 78, 71, 82]
dfdata = pd.DataFrame() dfdata['score'] = y1 + y2 + y3 + y4
dfdata['class'] = ['1班']*len(y1)+['2班']*len(y2)+['3班']*len(y3)+['4班']*len(y4)
ax = sns.violinplot(x= 'class', y = 'score',data = dfdata, palette = 'hls', # 设置调色板
inner = 'box'# 设置内部显示类型 → “box”, “quartile”, “point”, “stick”, None )


浙公网安备 33010602011771号