Python pyecharts怎么绘制条形图
Python pyecharts怎么绘制条形图
这篇文章主要介绍了Pythonpyecharts怎么绘制条形图的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Pythonpyecharts怎么绘制条形图文章都会有所收获,下面我们一起来看看吧。
一、简介
pyecharts是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts诞生了。Echarts是用JS来写的,而我们使用pyecharts则可以使用Python来调用里面的API。
优点:
简洁的 API 设计,使用如丝滑般流畅,支持链式调用
囊括了 30+ 种常见图表,应有尽有
支持主流 Notebook环境,Jupyter Notebook 和 JupyterLab
可轻松集成至 Flask,Django 等主流 Web 框架
高度灵活的配置项,可轻松搭配出精美的图表
多达 400+地图文件以及原生的百度地图,为地理数据可视化提供强有力的支持。
二、整理数据
安装:
pipinstallpyecharts
1、配置主题
Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))#第一种Bar({"theme":ThemeType.MACARONS})#第二种
2、柱状图 Bar - Bar_base_dict_config
importosfrommatplotlibimportpyplotaspltfrompyechartsimportoptionsasoptsfrompyecharts.chartsimportBarfrompyecharts.commons.utilsimportJsCodefrompyecharts.globalsimportThemeTypelist1=cnbodfsort['REGION'].tolist()list2=cnbodfsort['PRICE'].tolist()list3=cnbodfsort['PERSONS'].tolist()c=(Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT)).add_xaxis(list1).add_yaxis("票价",list2,stack="stack1",category_gap="50%").add_yaxis("人次",list3,stack="stack1",category_gap="50%").set_series_opts(label_opts=opts.LabelOpts(position="right",formatter=JsCode("function(x){returnNumber(x.data).toFixed(2);}"),)).set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),title_opts=opts.TitleOpts(title='中国电影票房',subtitle='按地区比较票价与人次')))#c.render("cnbo1.html")#生成html图片#os.system("cnbo01.html")#执行完代码直接跳出来图片c.render_notebook()#直接在代码区域展示图片
3、样例数据 Faker.choose()
使用这段代码会随机调用系统的样例参数:
.add_xaxis(Faker.choose())
frompyecharts.fakerimportFakerlist1=cnbodfsort['REGION'].tolist()list2=cnbodfsort['PRICE'].tolist()list3=cnbodfsort['PERSONS'].tolist()c=(Bar({"theme":ThemeType.MACARONS})###配置好看的图表主题!!!.add_xaxis(Faker.choose())###这句话表示使用随机的后台样例数据.add_yaxis("票价",list2,stack="stack1",category_gap="50%").add_yaxis("人次",list3,stack="stack1",category_gap="50%").set_series_opts(label_opts=opts.LabelOpts(position="right",formatter=JsCode("function(x){returnNumber(x.data).toFixed(2);}"),)).set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),title_opts={"text":"样例数据","subtext":"使用Faker.choose()"}))c.render("cnbo1.html")#生成html图片#os.system("cnbo1.html")#执行完代码直接跳出来图片c.render_notebook()#直接在代码区域展示图片
4、滚动条 Bar - Bar_datazoom_slider
datazoom_opts=opts.DataZoomOpts()
表示可以滑动的滚动条:
list1=cnbodfsort['REGION'].tolist()list2=cnbodfsort['PRICE'].tolist()list3=cnbodfsort['PERSONS'].tolist()c=(Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT)).add_xaxis(list1).add_yaxis("票价",list2,stack="stack1",category_gap="50%").add_yaxis("人次",list3,stack="stack1",category_gap="50%").set_series_opts(label_opts=opts.LabelOpts(position="right",formatter=JsCode("function(x){returnNumber(x.data).toFixed(2);}"),)).set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),title_opts=opts.TitleOpts(title='中国电影票房',subtitle='按地区比较票价与人次'),brush_opts=opts.BrushOpts(),###使用这个可以使图片的右上角多出来一些工具datazoom_opts=opts.DataZoomOpts(),###可以使最下面多出滚动条))c.render("cnbo2.html")#生成html图片#os.system("cnbo01.html")#执行完代码直接跳出来图片c.render_notebook()#直接在代码区域展示图片
5、鼠标移动效果 Bar - Bar_datazoom_inside
根据鼠标来放大与缩小的效果:
frompyechartsimportoptionsasoptsfrompyecharts.chartsimportBarfrompyecharts.fakerimportFakerc=(Bar().add_xaxis(Faker.days_attrs).add_yaxis("商家A",Faker.days_values,color=Faker.rand_color()).set_global_opts(title_opts=opts.TitleOpts(title="Bar-DataZoom(inside)"),datazoom_opts=opts.DataZoomOpts(type_="inside"),).render("bar_datazoom_inside.html"))
6、显示最值 Bar - Bar_markpoint_type
list1=cnbodfsort['REGION'].tolist()list2=cnbodfsort['PRICE'].tolist()list3=cnbodfsort['PERSONS'].tolist()c=(Bar(init_opts=opts.InitOpts(theme=ThemeType.HALLOWEEN)).add_xaxis(list1).add_yaxis("票价",list2,stack="stack1",category_gap="50%").add_yaxis("人次",list3,stack="stack1",category_gap="50%").set_series_opts(label_opts=opts.LabelOpts(position="right",formatter=JsCode("function(x){returnNumber(x.data).toFixed(2);}"),),markpoint_opts=opts.MarkPointOpts(#########data=[opts.MarkPointItem(type_="max",name="最大值"),opts.MarkPointItem(type_="min",name="最小值"),opts.MarkPointItem(type_="average",name="平均值"),]),#########).set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),title_opts=opts.TitleOpts(title='中国电影票房',subtitle='按地区比较票价与人次'),brush_opts=opts.BrushOpts(),###使用这个可以使图片的右上角多出来一些工具datazoom_opts=opts.DataZoomOpts(orient='vertical'),))c.render("cnbo2.html")#生成html图片#os.system("cnbo01.html")#执行完代码直接跳出来图片c.render_notebook()#直接在代码区域展示图片
7、改变滚动条在侧面 Bar - Bar_datazoom_slider_vertical
list1=cnbodfsort['REGION'].tolist()list2=cnbodfsort['PRICE'].tolist()list3=cnbodfsort['PERSONS'].tolist()c=(Bar(init_opts=opts.InitOpts(theme=ThemeType.CHALK)).add_xaxis(list1).add_yaxis("票价",list2,stack="stack1",category_gap="50%").add_yaxis("人次",list3,stack="stack1",category_gap="50%").set_series_opts(label_opts=opts.LabelOpts(position="right",formatter=JsCode("function(x){returnNumber(x.data).toFixed(2);}"),)).set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),title_opts=opts.TitleOpts(title='中国电影票房',subtitle='按地区比较票价与人次'),brush_opts=opts.BrushOpts(),###使用这个可以使图片的右上角多出来一些工具datazoom_opts=opts.DataZoomOpts(orient='vertical'),))c.render("cnbo2.html")#生成html图片#os.system("cnbo01.html")#执行完代码直接跳出来图片c.render_notebook()#直接在代码区域展示图片
8、多个Y轴
colors=['#5793f3','#d14a61','#675bba']legend_list=['票房','人次','价格','评价']list1=cnbodfsort['REGION'].tolist()list2=cnbodfsort['PRICE'].tolist()list3=cnbodfsort['PERSONS'].tolist()list4=cnbodfsort['BO'].tolist()list5=cnbodfsort['points'].tolist()c=(Bar(init_opts=opts.InitOpts(theme=ThemeType.CHALK,width="1600px",height="600px")).add_xaxis(list1).add_yaxis("评分",list5,yaxis_index=0,category_gap="50%",color=colors[2]).add_yaxis("票价",list2,yaxis_index=0,category_gap="50%",color=colors[0]).add_yaxis("人次",list3,yaxis_index=0,category_gap="50%",color=colors[1]).set_series_opts(label_opts=opts.LabelOpts(position="top",formatter=JsCode("function(x){returnNumber(x.data).toFixed(2);}"),),markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max",name="最大值"),opts.MarkPointItem(type_="min",name="最小值"),opts.MarkPointItem(type_="average",name="平均值"),]),).extend_axis(yaxis=opts.AxisOpts(name="票房",type_="value",min_=1000,max_=150000,interval=10000,position="right",axislabel_opts=opts.LabelOpts(formatter="{value}万"))).extend_axis(yaxis=opts.AxisOpts(name="评价",type_="value",min_=0,max_=11,interval=1,position="left",axislabel_opts=opts.LabelOpts(formatter="{value}点"),axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(color=colors[2])),splitline_opts=opts.SplitLineOpts(is_show=True,linestyle_opts=opts.LineStyleOpts(opacity=1)),)).set_global_opts(yaxis_opts=opts.AxisOpts(type_="value",name="票价",min_=10,max_=70,position="right",offset=80,axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(color=colors[0])),axislabel_opts=opts.LabelOpts(formatter="{value}元"),),tooltip_opts=opts.TooltipOpts(trigger="axis",axis_pointer_type="cross"),datazoom_opts=opts.DataZoomOpts(orient='vertical'),toolbox_opts=opts.ToolboxOpts(pos_left='120%'),legend_opts=opts.LegendOpts(is_show=False),))line=(Line().add_xaxis(xaxis_data=x_data).add_yaxis(series_name="票房",yaxis_index=1,y_axis=list4,label_opts=opts.LabelOpts(is_show=False),))c.render_notebook()#直接在代码区域展示图片
双Y轴:
9、直方图 Bar - Bar_histogram
#Bar-Bar_histogramfrompyecharts.options.global_optionsimportThemeTypefrompyechartsimportoptionsasoptsfrompyecharts.chartsimportBarfrompyecharts.fakerimportFakerc=(Bar({"theme":ThemeType.DARK}).add_xaxis(cnboregiongb.index.tolist()).add_yaxis("数量",cnboregiongb.values.tolist(),category_gap=0,color=Faker.rand_color()).set_global_opts(title_opts=opts.TitleOpts(title="Bar-直方图")))c.render_notebook()
关于“Pythonpyecharts怎么绘制条形图”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Pythonpyecharts怎么绘制条形图”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注恰卡编程网行业资讯频道。
推荐阅读
-
python(中无效的十进制怎么解决 python怎么转换进制)
python怎么转换进制?Python执行二进制转换:1.十进制到二进制(bin)首先,让让我们看看如何将十进制转换成二进制。我...
-
python怎么清除完全相同的行(python splte如何分隔有多个相同符号的str)
pythonsplte如何分隔有多个相同符号的str?str你的string内容str_(相同的符号)执行完了以后再在相同符号的...
-
python(编程控制电脑关机 如何控制电脑关机)
如何控制电脑关机?可以在电脑的运行窗口中输入输入公式,给电脑可以设置自动关机。1.按开快捷键winr然后打开运行窗口。2.在运行窗...
-
python中的特殊标识符(python 中 标识符中可以有逗号吗)
python中标识符中可以有逗号吗?在python语言中合法的标识符是字母、数字以及_,所以我合法的标识符中肯定不能有逗号if...
-
python(excel 提取数据写入新表 python导入excel数据找不到工作簿)
python导入excel数据找不到工作簿?我可以导入数据后找不到工作,不是因为他的工作没有被转移。什么软件可提取并合并Exce...
-
python中字典定义的四种方法(python global关键字的用法详解)
pythonglobal关键字的用法详解?global标志实际上是目的是提示python讲解器,说被其修饰的变量是全局变量。这样...
-
python(array用法 python如何对两个数组做差处理)
python如何对两个数组做差处理?Python中的列表中的元素肯定不能真接相加,减。t最佳的位置的是将列表装换成Python中的...
-
python多行注释符号怎么表示
python多行注释符号怎么表示这篇文章主要介绍“python多行...
-
python支持的操作系统是什么
python支持的操作系统是什么这篇文章主要介绍“python支持...
-
python如何判断列表为空
python如何判断列表为空这篇文章主要介绍“python如何判断...