pyecharts绘制各种图表 1、pyecharts绘制饼图(显示百分比) 2、pyecharts绘制柱状图 3、pyecharts绘制折线图 4、pyecharts绘制柱形折线组合图 5、pyecharts绘制散点图 6、pyecharts绘制玫瑰图 7、pyecharts绘制词云图 8、pyecharts绘制雷达图 9、pyecharts绘制散点图 10、pyecharts绘制嵌套饼图 11、pyecharts绘制中国地图 12、pyecharts绘制世界地图
1、pyecharts绘制饼图(显示百分比) from pyecharts import options as optsfrom pyecharts. charts import Pielabel= [ 'Mac口红' , 'Tom Ford口红' , '圣罗兰' , '纪梵希' , '花西子' , '迪奥' , '阿玛尼' , '香奈儿' ] values = [ 300 , 300 , 300 , 300 , 44 , 300 , 300 , 300 ] def pie_base ( ) : c = ( Pie( ) . add( "" , [ list ( z) for z in zip ( label, values) ] ) . set_global_opts( title_opts = opts. TitleOpts( title= "口红品牌分析" ) ) . set_series_opts( label_opts= opts. LabelOpts( formatter= "{b}:{c} {d}%" ) ) ) return cpie_base( ) . render( )
2、pyecharts绘制柱状图 from pyecharts. globals import ThemeTypefrom pyecharts import options as optsfrom pyecharts. charts import Barl1= [ '星期一' , '星期二' , '星期三' , '星期四' , '星期五' , '星期七' , '星期日' ] l2= [ 100 , 200 , 300 , 400 , 500 , 400 , 300 ] bar = ( Bar( init_opts= opts. InitOpts( theme= ThemeType. LIGHT) ) . add_xaxis( l1) . add_yaxis( "柱状图标签" , l2) . set_global_opts( title_opts= opts. TitleOpts( title= "柱状图-基本示例" , subtitle= "副标题" ) ) ) bar. render( )
3、pyecharts绘制折线图 import pyecharts. options as optsfrom pyecharts. charts import Linex= [ '星期一' , '星期二' , '星期三' , '星期四' , '星期五' , '星期七' , '星期日' ] y1= [ 100 , 200 , 300 , 400 , 100 , 400 , 300 ] y2= [ 200 , 300 , 200 , 100 , 200 , 300 , 400 ] line= ( Line( ) . add_xaxis( xaxis_data= x) . add_yaxis( series_name= "y1线" , y_axis= y1, symbol= "arrow" , is_symbol_show= True ) . add_yaxis( series_name= "y2线" , y_axis= y2) . set_global_opts( title_opts= opts. TitleOpts( title= "Line-双折线图" ) ) ) line. render( )
4、pyecharts绘制柱形折线组合图 from pyecharts import options as optsfrom pyecharts. charts import Bar, Grid, Linex_data = [ "{}月" . format ( i) for i in range ( 1 , 13 ) ] bar = ( Bar( ) . add_xaxis( x_data) . add_yaxis( "降雨量" , [ 2.0 , 4.9 , 7.0 , 23.2 , 25.6 , 76.7 , 135.6 , 162.2 , 68.6 , 22.0 , 6.6 , 4.3 ] , yaxis_index= 0 , color= "#5793f3" , ) . extend_axis( yaxis= opts. AxisOpts( name= "降雨量" , type_= "value" , min_= 0 , max_= 250 , position= "right" , axisline_opts= opts. AxisLineOpts( linestyle_opts= opts. LineStyleOpts( color= "#d14a61" ) ) , axislabel_opts= opts. LabelOpts( formatter= "{value} ml" ) , ) ) . extend_axis( yaxis= opts. AxisOpts( type_= "value" , name= "温度" , min_= 0 , max_= 25 , position= "left" , axisline_opts= opts. AxisLineOpts( linestyle_opts= opts. LineStyleOpts( color= "#d14a61" ) ) , axislabel_opts= opts. LabelOpts( formatter= "{value} °C" ) , splitline_opts= opts. SplitLineOpts( is_show= True , linestyle_opts= opts. LineStyleOpts( opacity= 1 ) ) , ) ) . set_global_opts( yaxis_opts= opts. AxisOpts( name= "降雨量" , min_= 0 , max_= 250 , position= "right" , offset= 0 , axisline_opts= opts. AxisLineOpts( linestyle_opts= opts. LineStyleOpts( color= "#5793f3" ) ) , axislabel_opts= opts. LabelOpts( formatter= "{value} ml" ) , ) , title_opts= opts. TitleOpts( title= "Grid-多 Y 轴示例" ) , tooltip_opts= opts. TooltipOpts( trigger= "axis" , axis_pointer_type= "cross" ) , ) ) line = ( Line( ) . add_xaxis( x_data) . add_yaxis( "平均温度" , [ 2.0 , 2.2 , 3.3 , 4.5 , 6.3 , 10.2 , 20.3 , 23.4 , 23.0 , 16.5 , 12.0 , 6.2 ] , yaxis_index= 2 , color= "#675bba" , label_opts= opts. LabelOpts( is_show= False ) , ) ) bar. overlap( line) grid = Grid( ) grid. add( bar, opts. GridOpts( pos_left= "5%" , pos_right= "20%" ) , is_control_axis_index= True ) grid. render( )
5、pyecharts绘制散点图 from pyecharts import options as optsfrom pyecharts. charts import Scatter week = [ "周一" , "周二" , "周三" , "周四" , "周五" , "周六" , "周日" ] c = Scatter( ) c. add_xaxis( week) c. add_yaxis( "商家A" , [ 80 , 65 , 46 , 37 , 57 , 68 , 90 ] ) c. set_global_opts( title_opts= opts. TitleOpts( title= "一周的销售额(万元)" ) ) c. render( )
6、pyecharts绘制玫瑰图 from pyecharts import options as optsfrom pyecharts. charts import Pie label= [ 'Mac口红' , 'Tom Ford口红' , '圣罗兰' , '纪梵希' , '花西子' ] values = [ 100 , 200 , 250 , 350 , 400 ] c = ( Pie( ) . add( "" , [ list ( z) for z in zip ( label, values) ] , radius= [ "30%" , "75%" ] , center= [ "50%" , "50%" ] , rosetype= "radius" , label_opts= opts. LabelOpts( is_show= False ) , ) . set_global_opts( title_opts= opts. TitleOpts( title= "标题" ) ) . set_series_opts( label_opts= opts. LabelOpts( formatter= "{b}:{c} {d}%" ) ) . render( "玫瑰图.html" ) )
7、pyecharts绘制词云图 from pyecharts import options as optsfrom pyecharts. charts import WordCloudfrom pyecharts. globals import SymbolType words = [ ( "Sam S Club" , 10000 ) , ( "Macys" , 6181 ) , ( "Amy Schumer" , 4386 ) , ( "Jurassic World" , 4055 ) , ( "Charter Communications" , 2467 ) , ( "Chick Fil A" , 2244 ) , ( "Planet Fitness" , 1868 ) , ( "Pitch Perfect" , 1484 ) , ( "Express" , 1112 ) , ( "Home" , 865 ) , ( "Johnny Depp" , 847 ) , ( "Lena Dunham" , 582 ) , ( "Lewis Hamilton" , 555 ) , ( "KXAN" , 550 ) , ( "Mary Ellen Mark" , 462 ) , ( "Farrah Abraham" , 366 ) , ( "Rita Ora" , 360 ) , ( "Serena Williams" , 282 ) , ( "NCAA baseball tournament" , 273 ) , ( "Point Break" , 265 ) , ] c = ( WordCloud( ) . add( "" , words, word_size_range= [ 20 , 100 ] , shape= SymbolType. DIAMOND) . set_global_opts( title_opts= opts. TitleOpts( title= "词云图" ) ) . render( "wordcloud_diamond.html" ) )
8、pyecharts绘制雷达图 from pyecharts import options as optsfrom pyecharts. charts import Radarv1 = [ [ 8.5 , 50000 , 15000 , 8000 , 13000 , 5000 ] ] v2 = [ [ 8.1 , 42000 , 13000 , 7000 , 15000 , 7000 ] ] def radar_base ( ) - > Radar: c = ( Radar( ) . add_schema( schema= [ opts. RadarIndicatorItem( name= 'KDA' , max_= 10 ) , opts. RadarIndicatorItem( name= '输出' , max_= 60000 ) , opts. RadarIndicatorItem( name= '经济' , max_= 20000 ) , opts. RadarIndicatorItem( name= '生存' , max_= 10000 ) , opts. RadarIndicatorItem( name= '推进' , max_= 20000 ) , opts. RadarIndicatorItem( name= '刷野' , max_= 10000 ) , ] ) . add( '射手' , v1, color= 'blue' , areastyle_opts= opts. AreaStyleOpts( opacity= 0.5 , color= 'blue' ) , ) . add( '法师' , v2, color= 'red' , areastyle_opts= opts. AreaStyleOpts( opacity= 0.5 , color= 'red' ) , ) . set_series_opts( label_opts= opts. LabelOpts( is_show= False ) ) . set_global_opts( title_opts= opts. TitleOpts( title= '英雄成长属性对比' ) ) ) return cradar_base( ) . render( "雷达图.html" )
9、pyecharts绘制散点图 from pyecharts import options as optsfrom pyecharts. charts import Scatterfrom pyecharts. commons. utils import JsCodefrom pyecharts. faker import Fakerc = ( Scatter( ) . add_xaxis( Faker. choose( ) ) . add_yaxis( "商家A" , [ list ( z) for z in zip ( Faker. values( ) , Faker. choose( ) ) ] , label_opts= opts. LabelOpts( formatter= JsCode( "function(params){return params.value[1] +' : '+ params.value[2];}" ) ) , ) . set_global_opts( title_opts= opts. TitleOpts( title= "Scatter散点图-多维度数据" ) , tooltip_opts= opts. TooltipOpts( formatter= JsCode( "function (params) {return params.name + ' : ' + params.value[2];}" ) ) , visualmap_opts= opts. VisualMapOpts( type_= "color" , max_= 150 , min_= 20 , dimension= 1 ) , ) . render( "散点图.html" ) )
10、pyecharts绘制嵌套饼图 import pyecharts. options as optsfrom pyecharts. charts import Piefrom pyecharts. globals import ThemeTypelist1= [ 300 , 55 , 400 , 110 ] attr1 = [ "学习" , "运动" , "休息" , "娱乐" ] list2= [ 40 , 160 , 45 , 35 , 80 , 400 , 35 , 60 ] attr2 = [ "阅读" , "上课" , "运动" , "讨论" , "编程" , "睡觉" , "听音乐" , "玩手机" ] inner_data_pair = [ list ( z) for z in zip ( attr1, list1) ] outer_data_pair = [ list ( z) for z in zip ( attr2, list2) ] ( Pie( init_opts= opts. InitOpts( theme= ThemeType. LIGHT) ) . add( series_name= "时长占比" , data_pair= inner_data_pair, radius= [ 0 , "30%" ] , label_opts= opts. LabelOpts( position= "inner" ) , ) . add( series_name= "时长占比" , radius= [ "40%" , "55%" ] , data_pair= outer_data_pair, label_opts= opts. LabelOpts( position= "outside" , formatter= "{a|{a}}{abg|}\n{hr|}\n {b|{b}: }{c}{per|{d}%}" , background_color= "#eee" , border_color= "#aaa" , border_width= 1 , border_radius= 4 , rich= { "a" : { "color" : "#999" , "lineHeight" : 22 , "align" : "center" } , "abg" : { "backgroundColor" : "#e3e3e3" , "width" : "100%" , "align" : "right" , "height" : 22 , "borderRadius" : [ 4 , 4 , 0 , 0 ] , } , "hr" : { "borderColor" : "#aaa" , "width" : "100%" , "borderWidth" : 0.5 , "height" : 0 , } , "b" : { "fontSize" : 16 , "lineHeight" : 33 } , "per" : { "color" : "#eee" , "backgroundColor" : "#334455" , "padding" : [ 2 , 4 ] , "borderRadius" : 2 , } , } , ) , ) . set_global_opts( legend_opts= opts. LegendOpts( pos_left= "left" , orient= "vertical" ) ) . set_series_opts( tooltip_opts= opts. TooltipOpts( trigger= "item" , formatter= "{a} {b}: {c} ({d}%)" ) ) . render( "嵌套饼图.html" ) )
11、pyecharts绘制中国地图 from pyecharts import options as optsfrom pyecharts. charts import Mapimport randomultraman = [ [ '四川' , 0 ] , [ '台湾' , 0 ] , [ '新疆' , 0 ] , [ '江西' , 0 ] , [ '河南' , 0 ] , [ '辽宁' , 0 ] , [ '青海' , 0 ] , [ '福建' , 0 ] , [ '西藏' , 0 ] ] monster = [ [ '广东' , 0 ] , [ '北京' , 0 ] , [ '上海' , 0 ] , [ '台湾' , 0 ] , [ '湖南' , 0 ] , [ '浙江' , 0 ] , [ '甘肃' , 0 ] , [ '黑龙江' , 0 ] , [ '江苏' , 0 ] ] def data_filling ( array) : '''作用:给数组数据填充随机数''' for i in array: i[ 1 ] = random. randint( 1 , 1000 ) data_filling( ultraman) data_filling( monster) def create_china_map ( ) : ( Map( ) . add( series_name= "商家A" , data_pair= ultraman, maptype= "china" , is_selected= True , is_roam= True , is_map_symbol_show= False , itemstyle_opts= { "normal" : { "areaColor" : "white" , "borderColor" : "red" } , "emphasis" : { "areaColor" : "pink" } } ) . add( series_name= "商家B" , data_pair= monster, maptype= "china" , ) . set_global_opts( title_opts= opts. TitleOpts( title= "中国地图" ) , visualmap_opts= opts. VisualMapOpts( max_= 1000 , is_piecewise= False ) ) . set_series_opts( label_opts= opts. LabelOpts( is_show= True , color= "blue" ) ) . render( "中国地图.html" ) ) create_china_map( )
12、pyecharts绘制世界地图 from pyecharts import options as optsfrom pyecharts. charts import Mapimport randomultraman = [ [ 'Russia' , 0 ] , [ 'China' , 0 ] , [ 'United States' , 0 ] , [ 'Australia' , 0 ] ] monster = [ [ 'India' , 0 ] , [ 'Canada' , 0 ] , [ 'France' , 0 ] , [ 'Brazil' , 0 ] ] def data_filling ( array) : for i in array: i[ 1 ] = random. randint( 1 , 1000 ) print ( i) data_filling( ultraman) data_filling( monster) def create_world_map ( ) : '''作用:生成世界地图''' ( Map( ) . add( series_name= "商家A" , data_pair= ultraman, maptype= "world" , ) . add( series_name= "商家B" , data_pair= monster, maptype= "world" , ) . set_global_opts( title_opts= opts. TitleOpts( title= "世界地图" ) , visualmap_opts= opts. VisualMapOpts( max_= 1000 , is_piecewise= False ) , ) . set_series_opts( label_opts= opts. LabelOpts( is_show= False , color= "blue" ) ) . render( "世界地图.html" ) ) create_world_map( )