Python數(shù)據(jù)可視化實戰(zhàn)-pyecharts交互式繪圖_第1頁
Python數(shù)據(jù)可視化實戰(zhàn)-pyecharts交互式繪圖_第2頁
Python數(shù)據(jù)可視化實戰(zhàn)-pyecharts交互式繪圖_第3頁
Python數(shù)據(jù)可視化實戰(zhàn)-pyecharts交互式繪圖_第4頁
Python數(shù)據(jù)可視化實戰(zhàn)-pyecharts交互式繪圖_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

pyecharts交互式圖形繪制1繪制交互式基礎圖形目錄pyecharts繪圖基礎2繪制交互式高級圖形3繪制組合圖形4初始配置項是在初始化對象中進行配置的,可以設置畫布的長與寬、網(wǎng)頁標題、圖表主題、背景色等。初始配置項是通過options模塊中的InitOpts類實現(xiàn)的,可以使用init_opts作為參數(shù)傳遞。InitOpts類的使用格式如下。classInitOpts(width='900px',height='500px',chart_id=None,renderer=RenderType.CANVAS,page_title='Awesome-pyecharts',theme='white',bg_color=None,js_host='',animation_opts=AnimationOpts())初始配置項初始配置項參數(shù)名稱說明width接收str,表示圖表畫布寬度。默認為900pxheight接收str,表示圖表畫布高度。默認為500pxchart_id接收str,表示圖表ID,圖表唯一標識,可用于在多個圖表合并時進行圖表之間的區(qū)分。默認為Nonerenderer接收str,表示渲染風格,可選canvas或svg。默認為canvaspage_title接收str,表示網(wǎng)頁標題。默認為Awesome-pyechartstheme接收str,表示圖表主題。默認為whitebg_color接收str,表示圖表背景顏色。默認為None文字樣式配置項是通過options模塊中的TextStyleOpts類實現(xiàn)的,可以使用text_style_opts作為參數(shù)傳遞給set_series_opts()方法。TextStyleOpts類的基本使用格式如下。classTextStyleOpts(color=None,font_style=None,font_weight=None,font_family=None,font_size=None,align=None,vertical_align=None,line_height=None,background_color=None,border_color=None,border_width=None,

border_radius=None,padding=None,shadow_color=None,shadow_blur=None,width=None,height=None,rich=None)系列配置項1.文字樣式配置項系列配置項參數(shù)名稱說明color接收str,表示文字顏色。默認為Nonefont_style接收str,表示文字字體風格,可選normal、italic、oblique。默認為Nonefont_weight接收str,表示主標題字體的粗細,可選normal、bold、bolder、lighter。默認為Nonefont_family接收str,表示文字的字體系列。默認為Nonefont_size接收numeric,表示文字的字體大小。默認為Nonealign接收str,表示文字水平對齊方式。默認為Nonevertical_align接收str,表示文字垂直對齊方式。默認為Noneline_height接收str,表示行高。默認為Nonebackground_color接收str,表示文字塊背景色。默認為Noneborder_color接收str,表示文字塊邊框顏色。默認為Noneborder_width接收numeric,表示文字塊邊框?qū)挾?。默認為None標簽配置項是通過options模塊中的LabelOpts類實現(xiàn)的,可以使用label_opts作為參數(shù)傳遞給set_series_opts()方法。LabelOpts類的基本使用格式如下。classLabelOpts(is_show=True,position='top',color=None,distance=None,font_size=12,font_style=None,font_weight=None,font_family=None,rotate=None,margin=8,interval=None,horizontal_align=Nonevertical_align=None,formatter=None,rich=None)系列配置項2.標簽配置項系列配置項參數(shù)名稱說明is_show接收bool,表示是否顯示標簽。默認為Trueposition接收str、Sequence,表示標簽的位置。默認為topcolor接收str,表示文字的顏色。默認為Nonefont_family接收str,表示文字的字體系列。默認為Nonefont_size接收numeric,表示文字的字體大小。默認為12font_weight接收str,表示文字字體的粗細,可選normal、bold、bolder、lighter。默認為Nonerotate接收numeric,表示標簽旋轉(zhuǎn)角度,從-90度到90度。默認為Nonehorizontal_align接收str,表示文字水平對齊方式,默認None線樣式配置項是通過options模塊中的LineStyleOpts類實現(xiàn)的,可以使用line_style_opts作為參數(shù)傳遞給set_series_opts()方法。LineStyleOpts類的基本使用格式如下。classLineStyleOpts(is_show=True,width=1,opacity=1,curve=0,type_='solid',color=None)系列配置項3.線樣式配置項系列配置項參數(shù)名稱說明is_show接收bool,表示是否顯示線。默認為Truewidth接收numeric,表示線的寬度。默認為1opacity接收numeric,表示圖形透明度,支持從0到1的數(shù)字。默認為1curve接收numeric,表示線的彎曲度,0表示完全不彎曲。默認為0type_接收str,表示線的類型,常用solid、dashed、dotted。默認為solidcolor接收str,表示線的顏色。默認為None標記點配置項是通過options模塊中的MarkPointOpts類實現(xiàn)的,可以使用markpoint_opts作為參數(shù)傳遞給set_series_opts()方法。MarkPointOpts類的基本使用格式如下。classMarkPointOpts(data=None,symbol=None,symbol_size=None,label_opts=opts.LabelOpts(position='inside',color='#fff')系列配置項4.標記點配置項參數(shù)名稱說明data接收Sequence對象,表示標記點數(shù)據(jù)。默認為Nonesymbol接收str,表示標記的圖形,提供的標記類型包括circle、rect、roundrect、triangle、diamond、pin、arrow、None。默認為Nonesymbol_size接收numeric,表示標記的大小,可以設置成單一的數(shù)字,如10;也可以使用數(shù)組分開表示寬和高,例如,[20,10]表示標記寬為20,高為10。默認為Nonelabel_opts表示標簽配置項標題配置項是通過options模塊中的TitleOpts類實現(xiàn)的,可以使用title_opts作為參數(shù)傳遞給set_global_opts()方法。TitleOpts類的基本使用格式如下。classTitleOpts(title=None,title_link=None,title_target=None,subtitle=None,subtitle_link=None,subtitle_target=None,pos_left=None,pos_right=None,pos_top=None,pos_bottom=None,padding=5,item_gap=10,title_textstyle_opts=None,subtitle_textstyle_opts=None)全局配置項1.標題配置項全局配置項參數(shù)名稱說明title接收str,表示主標題文本,支持使用\n換行。默認為Nonetitle_link接收str,表示主標題跳轉(zhuǎn)URL鏈接。默認為Nonetitle_target接收str,表示主標題跳轉(zhuǎn)鏈接方式,可選self、blank,self表示當前窗口打開,blank表示新窗口打開。默認為blanksubtitle接收str,表示副標題文本,支持使用\n換行。默認為Nonesubtitle_link接收str,表示副標題跳轉(zhuǎn)URL鏈接。默認為Nonesubtitle_target接收str,表示副標題跳轉(zhuǎn)鏈接方式。默認為blankitem_gap接收numeric,表示主副標題之間的間距。默認為10title_textstyle_opts表示主標題字體樣式配置項subtitle_textstyle_opts表示副標題字體樣式配置項圖例配置項是通過options模塊中的LegendOpts類實現(xiàn)的,可以使用legend_opts作為參數(shù)傳遞給set_global_opts()方法。LegendOpts類的基本使用格式如下。classLegendOpts(type_=None,selected_mode=None,is_show=True,pos_left=None,pos_right=None,pos_top=None,pos_bottom=None,orient=None,align=None,padding=5,item_gap=10,item_width=25,item_height=14,inactive_color=None,textstyle_opts=None,legend_icon=None)全局配置項2.圖例配置項全局配置項參數(shù)名稱說明type_接收str,表示圖例的類型??蛇xplain、scroll,plain表示普通圖例,scroll表示可滾動翻頁的圖例。默認為Noneis_show接收bool,表示是否顯示圖例組件,默認為Trueorient接收str,表示圖例列表的布局朝向,可選horizontal、vertical。默認為Noneitem_gap接收int,表示圖例每項之間的間隔。默認為10inactive_color接收str,表示圖例關閉時的顏色。默認為#cccpos_left接收str、numeric,表示圖例組件離容器左側的距離。默認為Nonepos_right接收str、numeric,表示圖例組件離容器右側的距離。默認為Nonepos_top接收str、numeric,表示圖例組件離容器上側的距離。默認為Nonepos_bottom接收str、numeric,表示圖例組件離容器下側的距離。默認為None坐標軸配置項是通過options模塊中的AxisOpts類實現(xiàn)的,可以使用xaxis_opts或yaxis_opts作為參數(shù)傳遞給set_global_opts()方法。AxisOpts類的基本使用格式如下。classAxisOpts(type_=None,name=None,is_show=True,is_scale=False,is_inverse=False,name_location='end',name_gap=15,name_rotate=None,interval=None,grid_index=0,position=None,offset=0,split_number=5,boundary_gap=None,min_=None,max_=None,min_interval=0,max_interval=None,axisline_opts=None,axistick_opts=None,axislabel_opts=None,axispointer_opts=None,name_textstyle_opts=None,splitarea_opts=None,splitline_opts=SplitLineOpts(),minor_tick_opts=None,minor_split_line_opts=None)全局配置項3.坐標軸配置項全局配置項參數(shù)名稱說明type_接收str,表示坐標軸類型??蛇xvalue、category、time、log,value表示數(shù)值軸,適用于連續(xù)數(shù)據(jù);category表示類目軸,適用于離散的類目數(shù)據(jù);time表示時間軸,適用于連續(xù)的時序數(shù)據(jù);log表示對數(shù)軸,適用于對數(shù)數(shù)據(jù)。默認為Nonename接收str,表示坐標軸名稱。默認為Noneis_show接收bool,表示是否顯示X坐標軸。默認為Trueis_inverse接收bool,表示是否反向坐標軸。默認為Falsename_gap接收numeric,表示坐標軸名稱與軸線之間的距離。默認為15name_rotate接收numeric,表示坐標軸名字旋轉(zhuǎn)角度值。默認為Noneposition接收str,表示X軸的位置,可選top、bottom,top表示在上側,bottom表示在下側。默認為Nonesplit_number接收numeric,表示坐標軸的分割段數(shù)。默認為5min_接收str、numeric,表示坐標軸刻度最小值。默認為Nonemax_接收str、numeric,表示坐標軸刻度最大值。默認為None1繪制交互式基礎圖形目錄pyecharts繪圖基礎2繪制交互式高級圖形3繪制組合圖形4繪制條形圖在pyecharts庫中,可使用Bar類繪制條形圖或柱形圖。Bar類的基本使用格式如下。

classBar(init_opts=opts.InitOpts()).add_xaxis(xaxis_data).add_yaxis(series_name,y_axis,is_selected=True,xaxis_index=None,yaxis_index=None,is_legend_hover_link=True,color=None,is_show_background=False,background_style=None,stack=None,bar_width=None,bar_max_width=None,bar_min_width=None,bar_min_height=0,category_gap='20%',gap='30%',is_large=False,large_threshold=400,dimensions=None,series_layout_by='column',dataset_index=0,is_clip=True,z_level=0,z=2,label_opts=opts.LabelOpts(),markpoint_opts=None,markline_opts=None,tooltip_opts=None,itemstyle_opts=None,encode=None).set_series_opts().set_global_opts()繪制條形圖參數(shù)名稱說明init_opts=opts.InitOpts()表示設置初始配置項,參考5.1.1小節(jié)add_xaxis()表示添加X軸數(shù)據(jù)項xaxis_data接收Sequence,表示X軸數(shù)據(jù)項。無默認值add_yaxis()表示添加Y軸數(shù)據(jù)項series_name接收str,表示系列名稱,用于tooltip的顯示,legend的圖例篩選。無默認值y_axis接收numeric、opts.BarItem、dict型序列數(shù)據(jù),表示系列數(shù)據(jù)。無默認值is_selected接收bool,表示是否選中圖例。默認為Truexaxis_index接收numeric,表示使用的x軸的index,在單個圖表實例中存在多個x軸的時候有用。默認為Noneyaxis_index接收numeric,表示使用的y軸的index,在單個圖表實例中存在多個y軸的時候有用。默認為Noneis_legend_hover_link接收bool,表示是否啟用圖例在hover時的聯(lián)動高亮。默認為Truecolor接收str,表示系列l(wèi)abel顏色。默認為None繪制條形圖參數(shù)名稱說明is_show_background接收bool,表示是否顯示柱條的背景色。默認為Falsestack接收str,表示數(shù)據(jù)堆疊,同個類目軸上系列配置相同的stack值可以堆疊放置。默認為Nonebar_width接收types.numeric、str,表示柱條的寬度,不設置時為自適應??梢允墙^對值或百分數(shù),如40、60%。在同一坐標系上,此屬性會被多個bar系列共享。此屬性應設置于此坐標系中最后一個bar系列上才會生效,并且是對此坐標系中所有bar系列生效。默認為Nonebar_max_width接收types.numeric、str,表示柱條的最大寬度。默認為Nonebar_min_width接收types.numeric、str,表示柱條的最小寬度。在直角坐標系中,默認為1。否則,默認為nullbar_min_height接收types.numeric,表示柱條最小高度,可用于防止某數(shù)據(jù)項的值過小而影響交互。默認為0category_gap接收numeric、str,表示同一系列的柱間距離。默認為20%set_series_opts()表示設置系列配置項,參考5.1.2小節(jié)set_global_opts()表示設置全局配置項,參考5.1.3小節(jié)商家A和商家B的各類商品的銷售數(shù)據(jù),如下表所示繪制的柱形圖可以直觀展示商家A和商家B的銷售情況,并便于對比同一類商品不同商家的銷售差距。繪制條形圖1.柱形圖商家襯衫毛衣領帶褲子風衣高跟鞋襪子商家A12056289812928107商家B601401531451607054當條目較多時,使用柱形圖展示數(shù)據(jù)時將會顯得較擁擠。此時,可以通過翻轉(zhuǎn)X軸和Y軸來顯示圖形,即使用條形圖展示數(shù)據(jù)。繪制條形圖2.條形圖可以將柱形圖堆疊起來顯示,即堆疊柱形圖。繪制條形圖3.堆疊柱形圖通過設置系列配置項,可以在柱形圖上顯示最大值、最小值以及平均值等標注。如使用前圖的數(shù)據(jù)繪制標注最大值、最小值、平均值的柱形圖。繪制條形圖在pyecharts庫中,可使用Scatter類繪制散點圖。Scatter類的基本使用格式如下。classScatter(init_opts=opts.InitOpts()).add_xaxis(xaxis_data).add_yaxis(series_name,y_axis,is_selected=True,xaxis_index=None,yaxis_index=None,color=None,symbol=None,symbol_size=10,symbol_rotate=None,label_opts=opts.LabelOpts(position='right'),markpoint_opts=None,markline_opts=None,markarea_opts=None,tooltip_opts=None,itemstyle_opts=None,encode=None).set_series_opts().set_global_opts()繪制散點圖繪制散點圖參數(shù)名稱說明init_opts=opts.InitOpts()表示設置初始配置項,參考5.1.1小節(jié)add_xaxis()表示添加X軸數(shù)據(jù)項xaxis_data接收Sequence,表示X軸數(shù)據(jù)項。無默認值add_yaxis()表示添加Y軸數(shù)據(jù)項series_name接收str,表示系列名稱,用于tooltip的顯示,legend的圖例篩選。無默認值y_axis接收Sequence序列數(shù)據(jù),表示系列數(shù)據(jù)。無默認值is_selected接收bool,表示是否選中圖例。默認為Truexaxis_index接收numeric,表示使用的x軸的index,在單個圖表實例中存在多個x軸的時候有用。默認為Noneyaxis_index接收numeric,表示使用的y軸的index,在單個圖表實例中存在多個y軸的時候有用。默認為None繪制散點圖參數(shù)名稱說明color接收str,表示系列l(wèi)abel顏色。默認為Nonesymbol接收str,表示標記的圖形,可選的標記類型包括circle、rect、roundrect、triangle、diamond、pin、arrow、None。默認為Nonesymbol_size接收numeric,表示標記的大小,可以設置成單一的數(shù)字,如10;也可以用數(shù)組分開表示寬和高,例如,[20,10]表示標記寬為20,高為10。默認為10symbol_rotate接收types.numeric,表示標記的旋轉(zhuǎn)角度。默認為Noneset_series_opts()表示設置系列配置項,參考5.1.2小節(jié)set_global_opts()表示設置全局配置項,參考5.1.3小節(jié)某小學部分學生的身高和體重的數(shù)據(jù),如下表所示散點圖可知,體重和身高成正比關系,身高越高,體重越重繪制散點圖身高0.750.850.951.081.121.161.351.511.551.61.631.67體重101215172022354248505154在pyecharts庫中,可使用Line類繪制折線圖。Line類的基本使用格式如下。classLine(init_opts=opts.InitOpts()).add_xaxis(xaxis_data).add_yaxis(series_name,y_axis,is_selected=True,is_connect_nones=False,xaxis_index=None,yaxis_index=None,color=None,is_symbol_show=True,symbol=None,symbol_size=4,stack=None,is_smooth=False,is_clip=True,is_step=False,is_hover_animation=True,

z_level=0,

z=0,

markpoint_opts=None,

markline_opts=None,

tooltip_opts=None,

label_opts=opts.LabelOpts(),

linestyle_opts=opts.LineStyleOpts(),

areastyle_opts=opts.AreaStyleOpts(),

itemstyle_opts=None).set_series_opts().set_global_opts()繪制折線圖繪制折線圖參數(shù)名稱說明init_opts=opts.InitOpts()表示設置初始配置項,參考5.1.1小節(jié)add_xaxis()表示添加X軸數(shù)據(jù)項xaxis_data接收Sequence,表示X軸數(shù)據(jù)項。無默認值add_yaxis()表示添加Y軸數(shù)據(jù)項series_name接收str,表示系列名稱,用于tooltip的顯示,legend的圖例篩選。無默認值y_axis接收types.Sequence序列,表示系列數(shù)據(jù)。無默認值is_selected接收bool,表示是否選中圖例。默認為Trueis_connect_nones接收bool,表示是否連接空數(shù)據(jù)。當含有空數(shù)據(jù)時,使用None填充。默認使Falsexaxis_index接收numeric,表示使用的x軸的index,在單個圖表實例中存在多個x軸的時候有用。默認為Noneyaxis_index接收numeric,表示使用的y軸的index,在單個圖表實例中存在多個y軸的時候有用。默認為Nonecolor接收str,表示系列l(wèi)abel顏色。默認為None繪制折線圖參數(shù)名稱說明is_symbol_show接收bool,表示是否顯示symbol。如果為false,那么只有在tooltiphover的時候顯示。默認為你Truesymbol接收str,表示標記的圖形,可選標記類型包括circle、rect、roundrect、triangle、diamond、pin、arrow、None。默認為Nonesymbol_size接收numeric、Sequence,表示標記的大小,可以設置成單一的數(shù)字,如10;也可以用數(shù)組分開表示寬和高,例如,[20,10]表示標記寬為20,高為10。默認為4stack接收str,表示數(shù)據(jù)堆疊,同個類目軸上系列配置相同的stack值可以堆疊放置。默認為Noneis_smooth接收bool,表示是否平滑曲線。默認為Flaseis_clip接收bool,表示是否裁剪超出坐標系部分的圖形。默認為Trueis_step接收bool,表示是否顯示成階梯圖。默認為Falseset_series_opts()表示設置系列配置項,參考5.1.2小節(jié)set_global_opts()表示設置全局配置項,參考5.1.3小節(jié)商家A和商家B的各類商品的銷售數(shù)據(jù),如下表所示商家A的曲線設置了參數(shù)is_smooth=True,在顯示時為光滑的折線,而商家B的曲線沒有進行設置,在顯示時為不光滑的折線。繪制折線圖1.折線圖商家襯衫毛衣領帶褲子風衣高跟鞋襪子商家A12056289812928107商家B601401531451607054面積圖又稱區(qū)域圖,強調(diào)數(shù)量隨時間而變化的程度,也可用于引起人們對總值趨勢的注意。Line類也可以繪制面積圖,主要是在add_yaxis參數(shù)中配置區(qū)域填充樣式配置項,即options.AreaStyleOpts(opacity=0,color=None),其中opacity參數(shù)為圖形透明度,支持從0到1的數(shù)字,為0時不繪制該圖形,color參數(shù)為填充的顏色。繪制折線圖2.面積圖在pyecharts庫中,可使用Boxplot類繪制箱線圖。Boxplot類的基本使用格式如下。classBoxplot(init_opts=opts.InitOpts()).add_xaxis(xaxis_data).add_yaxis(series_name,y_axis,is_selected=True,xaxis_index=None,yaxis_index=None,

label_opts=opts.LabelOpts(),markpoint_opts=opts.MarkPointOpts(),markline_opts=opts.MarkLineOpts(),tooltip_opts=None,itemstyle_opts=None).set_series_opts().set_global_opts()繪制箱線圖繪制箱線圖參數(shù)名稱說明init_opts=opts.InitOpts()表示設置初始配置項,參考5.1.1小節(jié)add_xaxis()表示添加X軸數(shù)據(jù)項xaxis_data接收Sequence,表示X軸數(shù)據(jù)項。無默認值add_yaxis()表示添加Y軸數(shù)據(jù)項series_name接收str,表示系列名稱,用于tooltip的顯示,legend的圖例篩選。無默認值y_axis接收types.Sequence序列數(shù)據(jù),表示系列數(shù)據(jù)。無默認值is_selected接收bool,表示是否選中圖例。默認為Truexaxis_index接收numeric,表示使用的x軸的index,在單個圖表實例中存在多個x軸的時候有用。默認為Noneyaxis_index接收numeric,表示使用的y軸的index,在單個圖表實例中存在多個y軸的時候有用。默認為Noneset_series_opts()表示設置系列配置項,參考5.1.2小節(jié)set_global_opts()表示設置全局配置項,參考5.1.3小節(jié)例:某學校3年級1班、2班、3班、4班的語文考試成績,如表所示。繪制箱線圖班級成績1班68,99,46,77,94,40,79,20,88,89,76,92,952班79,88,35,57,78,69,78,99,75,46,88,87,893班91,82,63,86,77,78,32,96,80,86,64,67,964班72,82,45,100,67,89,90,90,89,69,79,91,92箱線圖可知,1、2、3班的平均分差不多,而4班的平均分要明顯高于其他3個班;1班的極差要明顯大于其他3個班;4個班的最高分基本上接近。繪制箱線圖3D散點圖(3DScatter)與基本散點圖類似,區(qū)別主要是3D散點圖是在三維空間的點圖,基本散點圖是在二維平面上的點圖。在pyecharts庫中,可使用Scatter3D類繪制3D散點圖,Scatter3D類的基本使用格式如下。classScatter3D(init_opts=opts.InitOpts()).add(series_name,data,grid3d_opacity=1,shading=None,itemstyle_opts=None,xaxis3d_opts=opts.Axis3DOpts(),yaxis3d_opts=opts.Axis3DOpts(),zaxis3d_opts=opts.Axis3DOpts(),grid3d_opts=opts.Grid3DOpts(),encode=None).set_series_opts().set_global_opts()繪制3D散點圖繪制3D散點圖參數(shù)名稱說明init_opts=opts.InitOpts()表示設置初始配置項,參考5.1.1小節(jié)add()表示添加數(shù)據(jù)方法name接收str,表示圖例名稱。無默認值data接收Sequence,表示系列數(shù)據(jù),每一行是一個數(shù)據(jù)項,每一列屬于一個維度。無默認值grid3d_opacity3D笛卡爾坐標系組的透明度(點的透明度),默認為1,完全不透明xaxis3d_opts表示添加X軸數(shù)據(jù)項yaxis3d_opts表示添加Y軸數(shù)據(jù)項zaxis3d_opts表示添加Z軸數(shù)據(jù)項set_series_opts()表示設置系列配置項,參考5.1.2小節(jié)set_global_opts()表示設置全局配置項,參考5.1.3小節(jié)例:某運動會各運動員的最大攜氧能力、體重和運動后心率部分數(shù)據(jù)如下表,詳見“運動員的最大攜氧能力、體重和運動后心率數(shù)據(jù).xlsx”。繪制3D散點圖最大攜氧能力體重運動后心率55.7970.4715035.0070.3414442.9387.6516228.3089.8012940.56103.02143在pyecharts庫中,可使用Pie類繪制餅圖。Pie類的基本使用格式如下。classPie(init_opts=opts.InitOpts()).add(series_name,data_pair,color=None,radius=None,center=None,rosetype=None,is_clockwise=True,label_opts=opts.LabelOpts(),tooltip_opts=None,itemstyle_opts=None,encode=None).set_series_opts().set_global_opts()繪制餅圖繪制餅圖參數(shù)名稱說明init_opts=opts.InitOpts()表示設置初始配置項,參考5.1.1小節(jié)add()表示添加數(shù)據(jù)series_name接收str,表示系列名稱,用于tooltip的顯示,legend的圖例篩選。無默認值data_pair接types.Sequence序列,表示系列數(shù)據(jù)項,格式為[(key1,value1),(key2,value2)]。無默認值color接收str,表示系列l(wèi)abel顏色。默認為Noneradius接收Sequence,表示餅圖的半徑,數(shù)組的第一項是內(nèi)半徑,第二項是外半徑。默認為Nonecenter接收Sequence,表示餅圖的中心(圓心)坐標,數(shù)組的第一項是橫坐標,第二項是縱坐標,默認設置成百分比。當設置成百分比時第一項是相對于容器寬度,第二項是相對于容器高度。默認為Nonerosetype接收str,表示是否展示成南丁格爾圖,通過半徑區(qū)分數(shù)據(jù)大小,有radius和area兩種模式。radius表示扇區(qū)圓心角展現(xiàn)數(shù)據(jù)的百分比,半徑展現(xiàn)數(shù)據(jù)的大小,area表示所有扇區(qū)圓心角相同,僅通過半徑展現(xiàn)數(shù)據(jù)大小。默認為Noneis_clockwise接收bool,表示餅圖的扇區(qū)是否是順時針排布。默認值是Trueset_series_opts()表示設置系列配置項,參考5.1.2小節(jié)set_global_opts()表示設置全局配置項,參考5.1.3小節(jié)利用繪制折線圖中的數(shù)據(jù),繪制商家B銷售數(shù)據(jù)的餅圖。由餅圖可知,商家B的各類商品銷量中風衣的數(shù)量占比最多,占到為20.46%,而襪子只占了6.91%。繪制餅圖1.繪制餅圖環(huán)形圖(CircularSectorGraph)與餅圖類似,但又有區(qū)別。環(huán)形圖中間有一個空洞,每個樣本用一個環(huán)來表示,樣本中的每一部分數(shù)據(jù)用環(huán)中的一段表示??梢酝ㄟ^add函數(shù)中增加radius參數(shù)設置繪制環(huán)形圖。繪制餅圖2.環(huán)形圖玫瑰圖(RoseGraph)又稱為極面積圖,使用圓弧的半徑長短表示數(shù)據(jù)量。讀者可以通過Pie類繪制玫瑰圖,只需要在add函數(shù)中增加rosetype參數(shù)設置即可完成玫瑰圖的繪制。繪制餅圖3.玫瑰圖雖然玫瑰圖反映的比例關系與餅圖、環(huán)形餅圖是一致的,但通過扇區(qū)圓心角展現(xiàn)數(shù)據(jù)的百分比的直觀顯示,可以一目了然的看出各組成部分所占的比例關系。繪制餅圖1繪制交互式基礎圖形目錄pyecharts繪圖基礎2繪制交互式高級圖形3繪制組合圖形4在同一個繪圖區(qū)域,繪制不同類型的圖表,即層疊多圖,如同時繪制散點圖和折線圖、條形圖和折線圖等。在pyecharts庫中,使用overlap()方法將多個圖形疊加在一個視圖區(qū)。例:某省份1~12月份的降水量、蒸發(fā)量、平均溫度部分數(shù)據(jù)如表所示。詳見“1~12月份的降水量、蒸發(fā)量、平均溫度數(shù)據(jù).xlsx”繪制層疊多圖月份蒸發(fā)量降水量平均溫度1月22.622月4.95.92.23月793.34月23.226.44.55月25.628.76.3繪制層疊多圖疊加條形圖和折線圖中,左邊的坐標軸顯示的是蒸發(fā)量和降水量,而右邊的坐標軸顯示的一年中的平均溫度,可以直觀地展示了三者隨時間的變化而變化的情況。在pyecharts庫中,可使用Funnel類繪制漏斗圖。Funnel類的基本使用格式如下。classFunnel(init_opts=opts.InitOpts()).add(series_name,data_pair,is_selected=True,color=None,sort_='descending',gap=0,label_opts=opts.LabelOpts(),tooltip_opts=None,itemstyle_opts=None).set_series_opts().set_global_opts()繪制漏斗圖繪制漏斗圖參數(shù)名稱說明init_opts=opts.InitOpts()表示設置初始配置項,參考5.1.1小節(jié)add()表示添加數(shù)據(jù)series_name接收str,表示系列名稱,用于tooltip的顯示,legend的圖例篩選。無默認值data_pair接收Sequence,表示數(shù)據(jù)項,格式為[(key1,value1),(key2,value2)]。無默認值is_selected接收bool,表示是否選中圖例。默認為Truecolor接收str,表示系列l(wèi)abel顏色。默認為Nonesort_接收str,表示數(shù)據(jù)排序,可以取ascending、descending、None(按data順序)。默認為descendinggap接收numeric,表示數(shù)據(jù)圖形間距。默認為0set_series_opts()表示設置系列配置項,參考5.1.2小節(jié)set_global_opts()表示設置全局配置項,參考5.1.3小節(jié)下表是某淘寶店鋪的訂單轉(zhuǎn)化率統(tǒng)計數(shù)據(jù),根據(jù)數(shù)據(jù)繪制漏斗圖。繪制漏斗圖網(wǎng)購環(huán)節(jié)人數(shù)瀏覽商品2000加入購物車900生成訂單400支付訂單320完成交易300由漏斗圖可以直觀地查看各個網(wǎng)購環(huán)節(jié)人數(shù)的轉(zhuǎn)化率情況。繪制漏斗圖在pyecharts庫中,可使用HeatMap類繪制熱力圖。HeatMap類的基本使用格式如下。classHeatMap(init_opts=opts.InitOpts()).add_xaxis().add_yaxis(series_name,yaxis_data,value,is_selected=True,xaxis_index=None,yaxis_index=None,label_opts=opts.LabelOpts(),markpoint_opts=None,markline_opts=None,tooltip_opts=None,itemstyle_opts=None).set_series_opts().set_global_opts()繪制熱力圖繪制熱力圖參數(shù)名稱說明init_opts=opts.InitOpts()表示設置初始配置項,參考5.1.1小節(jié)add_xaxis()表示添加x軸數(shù)據(jù)add_yaxis()表示添加y軸數(shù)據(jù)series_name接收str,表示系列名稱,用于tooltip的顯示,legend的圖例篩選。無默認值yaxis_data接收types.Sequence,表示y坐標軸數(shù)據(jù)項。無默認值value接收types.Sequence,表示系列數(shù)據(jù)項。無默認值is_selected接收bool,表示是否選中圖例。默認為Truexaxis_index接收numeric,表示使用的x軸的index,在單個圖表實例中存在多個x軸的時候有用。默認為Noneyaxis_index接收numeric,表示使用的y軸的index,在單個圖表實例中存在多個y軸的時候有用。默認為Noneset_series_opts()表示設置系列配置項,參考5.1.2小節(jié)set_global_opts()表示設置全局配置項,參考5.1.3小節(jié)某網(wǎng)站某周一天24小時的點擊量部分數(shù)據(jù),詳見數(shù)據(jù)文件(heatmap.xlsx),請根據(jù)數(shù)據(jù)繪制熱力圖。繪制熱力圖時間星期一星期二星期三星期四星期五星期六星期日1363350787492243405399324635755713926348443738637369652599588097305337熱力圖可以直觀地展現(xiàn)了數(shù)據(jù)的差異性。特別是,當面對龐大的數(shù)據(jù)時,通過熱力圖可視化可以一目了然的查看數(shù)據(jù)的分布情況或差異情況。繪制熱力圖在pyecharts庫中,可使用WordCloud類繪制詞云圖。WordCloud類的基本使用格式如下。classWordCloud(init_opts=opts.InitOpts()).add(series_name,data_pair,shape='circle',mask_image=None,word_gap=20,word_size_range=None,rotate_step=45,pos_left=None,pos_top=None,pos_right=None,pos_bottom=None,width=None,height=None,is_draw_out_of_bound=False,tooltip_opts=None,textstyle_opts=None,emphasis_shadow_blur=None,emphasis_shadow_color=None).set_series_opts().set_global_opts()繪制詞云圖繪制詞云圖參數(shù)名稱說明init_opts=opts.InitOpts()表示設置初始配置項,參考5.1.1小節(jié)add()表示添加數(shù)據(jù)series_name接收str,表示系列名稱,用于tooltip的顯示,legend的圖例篩選。無默認值data_pair接收Sequence,表示系列數(shù)據(jù)項,形如[(word1,count1),(word2,count2)]。無默認值shape接收str,表示詞云圖輪廓,可選circle、cardioid、diamond、triangle-forward、triangle、pentagon。默認是circlemask_image接收str,表示自定義的圖片(目前支持jpg、jpeg、png、ico的格式)。默認為Noneword_gap接收numeric,表示單詞間隔。默認為20word_size_range接收numeric序列,表示單詞字體大小范圍。默認為Nonerotate_step接收numeric,表示旋轉(zhuǎn)單詞角度。默認為45繪制詞云圖參數(shù)名稱說明pos_left接收str,表示距離左側的距離。默認為Nonepos_top接收str,表示距離頂部的距離。默認為Nonepos_right接收str,表示距離右側的距離。默認為Nonepos_bottom接收str,表示距離底部的距離。默認為Nonewidth接收str,表示詞云圖的寬度。默認為Noneheight接收str,表示詞云圖的高度。默認為Noneis_draw_out_of_bound接收bool,表示是否允許詞云圖的數(shù)據(jù)展示在畫布范圍之外。默認為Falseset_series_opts()表示設置系列配置項,參考5.1.2小節(jié)set_global_opts()表示設置全局配置項,參考5.1.3小節(jié)在繪制詞云圖前,需要統(tǒng)計各詞的詞頻。例如,附件worldcloud.csv統(tǒng)計的部分宋詞詞頻數(shù)據(jù),繪制的詞云圖。由詞云圖可知,宋詞中使用“東風”“人間”“何處”的次數(shù)相對較多。繪制詞云圖在pyecharts庫中,可使用Graph類繪制關系圖。Graph類的基本使用格式如下。classGraph(init_opts=opts.InitOpts()).add(series_name,nodes,links,categories=None,is_selected=True,is_focusnode=True,is_roam=True,is_draggable=False,is_rotate_label=False,layout='force',symbol=None,symbol_size=10,edge_length=50,gravity=0.2,repulsion=50,edge_label=None,edge_symbol=None,edge_symbol_size=10,label_opts=opts.LabelOpts(),linestyle_opts=opts.LineStyleOpts(),tooltip_opts=None,itemstyle_opts=None).set_series_opts().set_global_opts()繪制關系圖繪制關系圖參數(shù)名稱說明init_opts=opts.InitOpts()表示設置初始配置項,參考5.1.1小節(jié)add()表示添加數(shù)據(jù)series_name接收str,表示系列名稱,用于tooltip的顯示,legend的圖例篩選。無默認值nodes接收Sequence,表示關系圖節(jié)點數(shù)據(jù)項列表。無默認值links接收Sequence,表示關系圖節(jié)點間關系數(shù)據(jù)項列表。無默認值categories接收Sequence,表示關系圖節(jié)點分類的類目列表。默認為Noneis_selected接收bool,表示是否選中圖例。默認為Trueis_roam接收bool,表示是否開啟鼠標縮放和平移漫游。默認值是Trueis_draggable接收bool,表示節(jié)點是否可拖拽,只在使用力引導布局的時候有用。默認為Falseis_rotate_label接收bool,表示是否旋轉(zhuǎn)標簽。默認值Falselayout接收str,表示圖的布局,可選none、circular、force。None表示不采用任何布局,使用節(jié)點中提供的x、y作為節(jié)點的位置;circular表示采用環(huán)形布局;force表示采用力引導布局。默認為force繪制關系圖參數(shù)名稱說明symbol接收str,表示關系圖節(jié)點標記的圖形,提供的標記類型包括circle、rect、roundrect、triangle、diamond、pin、arrow、None。默認為Nonesymbol_size接收types.numeric,表示關系圖節(jié)點標記的大小,可以設置單一的數(shù)字,如10;也可以用數(shù)組分開表示寬和高,例如,[20,10]表示標記寬為20,高為10。默認為10edge_length接收numeric,表示邊的兩個節(jié)點之間的距離。默認為50gravity接收numeric,表示節(jié)點受到的向中心的引力因子,該值越大節(jié)點越往中心點靠攏。默認為0.2repulsion接收numeric,表示節(jié)點之間的斥力因子。默認為50edge_label接收types.Label,表示Graph圖節(jié)點邊的Label配置(即在邊上顯示數(shù)據(jù)或標注的配置)。默認為Noneedge_symbol接收str,表示邊兩端的標記類型,可以是一個數(shù)組分別指定兩端,也可以是單個統(tǒng)一指定。默認為Noneedge_symbol_size接收numeric,表示邊兩端的標記大小,可以是一個數(shù)組分別指定兩端,也可以是單個統(tǒng)一指定。默認為10set_series_opts()表示設置系列配置項,參考5.1.2小節(jié)set_global_opts()表示設置全局配置項,參考5.1.3小節(jié)某公司銷售部的部分員工微信好友關系數(shù)據(jù)如下表所示。由關系圖可以直觀地看出每個人之間的關系。繪制關系圖目標人物其它人物關系周建[賀芳,吳大,張三,劉霞][夫妻,同事,同學,同學]黃婧[張三,劉霞][朋友,同事]文華[劉霞,吳大][夫妻,同事]在pyecharts庫中,可使用Sankey類繪制?;鶊D。Sankey類的基本使用格式如下。classSankey(init_opts=opts.InitOpts()).add(series_name,nodes,links,is_selected=True,pos_left='5%',pos_top='5%',pos_right='20%',pos_bottom='5%',node_width=20,node_gap=8,node_align='justify',orient='horizontal',is_draggable=True,layout_iterations=32,focus_node_adjacency=False,levels=None,label_opts=opts.LabelOpts(),linestyle_opt=opts.LineStyleOpts(),tooltip_opts=None).set_series_opts().set_global_opts()繪制?;鶊D繪制?;鶊D參數(shù)名稱說明init_opts=opts.InitOpts()表示設置初始配置項,參考5.1.1小節(jié)add()表示添加數(shù)據(jù)series_name接收str,表示系列名稱,用于tooltip的顯示,legend的圖例篩選。無默認值nodes接收Sequence,表示節(jié)點數(shù)據(jù)項列表。無默認值links接收Sequence,表示節(jié)點間關系數(shù)據(jù)項列表。無默認值is_selected接收bool,表示是否選中圖例。默認為Truepos_left接收str、types.numeric,表示Sankey組件離容器左側的距離。默認為5%pos_top接收str、types.numeric,表示Sankey組件離容器上側的距離。默認為5%pos_right接收str、types.numeric,表示Sankey組件離容器右側的距離。默認為20%pos_bottom接收str、types.numeric,表示Sankey組件離容器下側的距離。默認為5%node_width接收numeric,表示?;鶊D中每個矩形節(jié)點的寬度。默認為20繪制?;鶊D參數(shù)名稱說明node_gap接收numeric,表示?;鶊D中每一列任意兩個矩形節(jié)點之間的間隔。默認為8node_align接收str,表示?;鶊D中節(jié)點的對齊方式,可選justify、left、right。justify表示節(jié)點雙端對齊,left表示節(jié)點左對齊,right表示節(jié)點右對齊。默認為justifyorient接收str,表示?;鶊D中節(jié)點的布局方向,可選horizontal、vertical。horizontal表示水平的從左往右,vertical表示垂直的從上往下。默認為horizontalis_draggable接收bool,表示當控制節(jié)點拖拽的交互開啟后,用戶可以將圖中任意節(jié)點拖拽到任意位置。默認為Trueset_series_opts()表示設置系列配置項,參考5.1.2小節(jié)set_global_opts()表示設置全局配置項,參考5.1.3小節(jié)附件sanky.csv是某家庭一個月的生活開支明細數(shù)據(jù),繪制?;鶊D。由?;鶊D可以直觀地看出商品的開支情況,以及各商品小類、大類的開支情形。繪制?;鶊D1繪制交互式基礎圖形目錄pyecharts繪圖基礎2繪制交互式高級圖形3繪制組合圖形4為了進行不同數(shù)據(jù)的比較,有時需要在同一個視圖區(qū)域同時繪制不同的圖形,即并行多圖。在pyecharts庫中,可使用Grid類繪制并行多圖。Grid類的基本使用格式如下。classGrid(init_opts=opts.InitOpts()).add(chart,grid_opts,grid_index=0,is_control_axis_index=False)繪制并行多圖參數(shù)名稱說明init_opts=opts.InitOpts()表示設置初始配置項,參考5.1.1小節(jié)add()表示添加圖形信息chart接收char對象,表示圖表實例,僅Chart類或其子類。無默認值grid_opts接收options.GridOpts、dict,表示直角坐標系網(wǎng)格配置項。無默認值grid_index接收int,表示直角坐標系網(wǎng)格索引。默認為0is_control_axis_index接收bool,表示是否由自己控制Axis索引。默認為FalseChart參數(shù)主要用于顯示的圖形對象。為了顯示正確,需要配置直角坐標系網(wǎng)格配置項。在pyecharts庫中,可使用GridOpts類配置直角坐標系網(wǎng)格配置項。GridOpts類的基本使用格式如下。pyecharts.options.GridOpts(is_show=False,z_level=0,z=2,pos_left=None,pos_top=None,pos_right=None,pos_bottom=None,width=None,height=None,is_contain_label=False,background_color='transparent',border_color='#ccc',border_width=1,tooltip_opts=None)繪制并行多圖繪制并行多圖參數(shù)名稱說明is_show接收bool,表示是否顯示直角坐標系網(wǎng)格。默認為Falsepos_left接收str、numeric,表示grid組件離容器左側的距離。默認為Nonepos_top接收str、numeric,表示grid組件離容器上側的距離。默認為Nonepos_right接收str、numeric,表示grid組件離容器右側的距離。默認為Nonepos_bottom接收str、numeric,表示grid組件離容器下側的距離。默認為Nonewidth接收str、numeric,表示grid組件的寬度。默認Noneheight接收str、numeric,表示grid組件的高度。默認Noneis_contain_label接收bool,表示grid區(qū)域是否包含坐標軸的刻度標簽。默認是Falsebackground_color接收str,表示網(wǎng)格背景色。默認為transparentborder_color接收str,表示網(wǎng)格的邊框顏色。默認為#cccborder_width接收numeric,表示網(wǎng)格的邊框線寬。默認為1通常并行多圖有左右布局和上下布局兩種方式?;诘纳碳褹的銷售數(shù)據(jù),采取左右布局的方式,繪制條形圖和餅圖。由并行多圖可知,左邊的柱形圖展示了商家A銷售的各種商品數(shù)量,右邊的餅圖展示了各商品銷售數(shù)量的占比情況。繪制并行多圖如果對相關數(shù)據(jù)源,根據(jù)不同的目的進行了不同的數(shù)據(jù)可視化,進一步將所有圖片集中到一個頁面就顯得非常完善,這樣即可對不同的情況進行同時交互展示。在pyecharts庫中,可使用Page類繪制順序多圖。Page類的基本使用格式如下。classPage(page_title='Awesome-pyecharts',js_host='',interval=1,layout=PageLayoutOpts()).add(*charts)繪制順序多圖參數(shù)名稱說明page_title接收str,表示HTML標題。默認為Awesome-pyechartsinterval接收int,表示每個圖例之間的間隔。默認為1layout接收PageLayoutOpts,表示布局配置項。charts接收charts對象,表示任意圖表實例。無默認值PageLayoutOpts用于配置原生CSS樣式。pyecharts內(nèi)置了DraggablePageLayout布局,可以通過拖放的方式設置布局,同時提供了save_resize_html()方法用于保存通過拖拉設置布局的頁面。save_resize_html()方法的基本使用格式如下。Page.save_resize_html(source='render.html',cfg_file=None,cfg_dict=None,dest='resize_render.html')繪制順序多圖參數(shù)名稱說明source接收str,表示Page第一次渲染后的html文件。默認為render.htmlcfg_file接收str

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論