<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
關於具體詳情,請諮詢:pyecharts官網
pyecharts是一個由百度開源的資料視覺化,憑藉著良好的互動性,精巧的圖表設計,得到了眾多開發者的認可。而Python 是一門富有表達力的語言,很適合用於資料處理。當資料分析遇上資料視覺化時,pyecharts誕生了。Echarts是用JS來寫的,而我們使用pyecharts則可以使用Python來呼叫裡面的API。
優點:
簡潔的 API 設計,使用如絲滑般流暢,支援鏈式呼叫
囊括了 30+ 種常見圖表,應有盡有
支援主流 Notebook環境,Jupyter Notebook 和 JupyterLab
可輕鬆整合至 Flask,Django 等主流 Web 框架
高度靈活的設定項,可輕鬆搭配出精美的圖表
詳細的檔案和範例,幫助開發者更快的上手專案
多達 400+地圖檔案以及原生的百度地圖,為地理資料視覺化提供強有力的支援。
安裝:
pip install pyecharts
Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT)) # 第一種 Bar({"theme": ThemeType.MACARONS}) # 第二種
import os from matplotlib import pyplot as plt from pyecharts import options as opts from pyecharts.charts import Bar from pyecharts.commons.utils import JsCode from pyecharts.globals import ThemeType 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){return Number(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() # 直接在程式碼區域展示圖片
使用這段程式碼會隨機呼叫系統的樣例引數:
.add_xaxis(Faker.choose())
from pyecharts.faker import Faker list1=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){return Number(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() # 直接在程式碼區域展示圖片
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){return Number(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() # 直接在程式碼區域展示圖片
根據滑鼠來放大與縮小的效果:
from pyecharts import options as opts from pyecharts.charts import Bar from pyecharts.faker import Faker c = ( 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") )
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){return Number(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() # 直接在程式碼區域展示圖片
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){return Number(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() # 直接在程式碼區域展示圖片
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){return Number(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軸:
# Bar - Bar_histogram from pyecharts.options.global_options import ThemeType from pyecharts import options as opts from pyecharts.charts import Bar from pyecharts.faker import Faker c = ( 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()
以上就是Python pyecharts繪製條形圖詳解的詳細內容,更多關於Python pyecharts條形圖的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45