python用pyecharts画柱状图,python绘制箱线图代码
箱形图(箱形图)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因形状如箱子而得名。本文将通过PythonPyecharts来绘制一些箱线图,需要的可以参考一下
本篇博客只是单纯的记录一下自己学习箱线图,没有过多的解释,官网:》Boxplot
将海生的作为社交网站(Social Network Site的缩写)导入
将数组作为铭牌导入
进口熊猫作为螺纹中径
将绘制精美的图表作为数学编程语言(Mathematical Programming Language)导入
将matplotlib.pyplot作为血小板计数导入
%matplotlib内联
PLT。RC params[ font。sans-serif ]=[微软雅黑]#用来正常显示中文标签
PLT。RC params[轴。unicode _ MINUS ]=False #用来正常显示负号
从日期时间导入日期时间
plt.figure(figsize=(16,10))
将pyecharts.options作为选项导入
从pyecharts .图表导入行
从pyecharts.faker导入骗子
从pyecharts .图表导入栏
导入操作系统
从派伊图表。选项。全局选项导入主题类型
cnboo=pd.read_excel(c.xls )
处理数据:
cnbotypegb=cnboo。group by([ TYPE , SHOWYEAR])[BO].sum().替换()
cnbotypegbrst=cnbotypegb。reset _ index()。替换()
filmtype=cnbotypegbrst[TYPE].唯一()
对行标签和列标签进行转置:
cnbotypegbrst .t。索引
cnbopvt=cnbotypegbrst。pivot(index= TYPE ,
columns=SHOWYEAR ,
值=BO
)
cnbopvtv2=cnbopvt.iloc[:2:].替换()
cnbopvtv2.index
cnbopvtv2=cnbopvtv2.fillna(0).替换()
xlist=cnbopvtv2.index.tolist()
查询块中对象的属性一共有12个,因此循环12次:
y_data=[]
对于范围(0,12):内的英语字母表中第九个字母
y _ data。追加(cnbopvtv 2。iloc[I].tolist())
得到的y_data数据:
[[47923.0,
64988.0,
0.0,
80506.0,
0.0,
69628.0,
69960.0,
0.0,
104853.0,
539542.0,
157535.0],
[48249.0,
160800.0,
153735.0,
336616.0,
370696.0,
263476.0,
916503.0,
1010848.0,
1828313.0,
1835840.0,
875026.0],
[30916.0,
160800.0,
86419.0,
65659.0,
39472.0,
263476.0,
201318.0,
309825.0,
226052.0,
1835840.0,
152997.0],
[30916.0,
160800.0
,
18648.0,
65659.0,
39472.0,
263476.0,
201318.0,
309825.0,
226052.0,
1835840.0,
152997.0],
[53837.0,
91838.0,
36093.0,
100303.0,
58872.0,
285139.0,
647028.0,
451028.0,
765806.0,
1063170.0,
454325.0],
[53837.0,
22874.0,
14934.0,
100303.0,
124699.0,
285139.0,
320647.0,
430395.0,
235246.0,
89988.0,
15283.0],
[20510.0,
22874.0,
14934.0,
18806.0,
124699.0,
41184.0,
320647.0,
430395.0,
235246.0,
89988.0,
15283.0],
[40329.0,
22874.0,
85732.0,
36994.0,
124699.0,
41184.0,
320647.0,
430395.0,
118754.0,
89988.0,
15283.0],
[44745.0,
22874.0,
85732.0,
36994.0,
124699.0,
41184.0,
62967.0,
430395.0,
118754.0,
89988.0,
15283.0],
[28092.0,
72729.0,
82385.0,
182193.0,
255790.0,
259325.0,
62967.0,
160092.0,
118754.0,
136152.0,
112725.0],
[51321.0,
213633.0,
148063.0,
225026.0,
258684.0,
563843.0,
344841.0,
82557.0,
179793.0,
139666.0,
465533.0],
[15524.0,
38100.0,
86684.0,
225026.0,
31579.0,
150820.0,
344841.0,
82557.0,
179793.0,
139666.0,
465533.0]]
最后绘制图表:
import pyecharts.options as optsfrom pyecharts.charts import Grid, Boxplot, Scatter
scatter_data = [650, 620, 720, 720, 950, 970]
box_plot = Boxplot({"Theme":ThemeType.ESSOS})
box_plot = (
box_plot.add_xaxis(xaxis_data=xlist)
.add_yaxis(series_name="", y_axis=box_plot.prepare_data(y_data))
.set_global_opts(
title_opts=opts.TitleOpts(
pos_left="center", title="2009-2019中国电影票房分类箱型图"
),
tooltip_opts=opts.TooltipOpts(trigger="item", axis_pointer_type="shadow"),
xaxis_opts=opts.AxisOpts(
type_="category",
boundary_gap=True,
splitarea_opts=opts.SplitAreaOpts(is_show=False),
axislabel_opts=opts.LabelOpts(formatter="{value}"),
splitline_opts=opts.SplitLineOpts(is_show=False),
),
yaxis_opts=opts.AxisOpts(
type_="value",
name="票房(万元)",
splitarea_opts=opts.SplitAreaOpts(
is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)
),
),
)
.set_series_opts(tooltip_opts=opts.TooltipOpts(formatter="{a}: {c}"))
)# {a}:系列名称,{b}:数据名称,{c}:数值数组,{d}:无
scatter = (
Scatter()
.add_xaxis(xaxis_data=xlist)
.add_yaxis(series_name="", y_axis=scatter_data)
.set_global_opts(
title_opts=opts.TitleOpts(
pos_left="10%",
pos_top="90%",
title="upper: Q3 + 1.5 * IQR \nlower: Q1 - 1.5 * IQR",
title_textstyle_opts=opts.TextStyleOpts(
border_color="#999", border_width=1, font_size=14
),
),
yaxis_opts=opts.AxisOpts(
axislabel_opts=opts.LabelOpts(is_show=False),
axistick_opts=opts.AxisTickOpts(is_show=False),
),
)
)
grid = (
Grid(init_opts=opts.InitOpts(width="600px", height="400px"))
.add(
box_plot,
grid_opts=opts.GridOpts(pos_left="10%", pos_right="10%", pos_bottom="15%"),
)
.add(
scatter,
grid_opts=opts.GridOpts(pos_left="10%", pos_right="10%", pos_bottom="15%"),
)
)
grid.render_notebook()
也可以直接使用下面的代码,简单的绘制一张图:
boxplot=(Boxplot().add_xaxis(xlist)
.add_yaxis("电影数据",y_data)
)
boxplot.render_notebook()
以上就是Python Pyecharts绘制箱线图详解的详细内容,更多关于Python Pyecharts箱线图的资料请关注盛行IT软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。