天天看點

echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖

    Echarts 是一個由百度開源的資料可視化,憑借着良好的互動性,精巧的圖表設計,得到了衆多開發者的認可。而 Python 是一門富有表達力的語言,很适合用于資料處理。當資料分析遇上資料可視化時,pyecharts 誕生了。

特性

  • 簡潔的 API 設計,使用如絲滑般流暢,支援鍊式調用
  • 囊括了 30+ 種常見圖表,應有盡有
  • 支援主流 Notebook 環境,Jupyter Notebook 和 JupyterLab
  • 可輕松內建至 Flask,Sanic,Django 等主流 Web 架構
  • 高度靈活的配置項,可輕松搭配出精美的圖表
  • 詳細的文檔和示例,幫助開發者更快的上手項目
  • 多達 400+ 地圖檔案,并且支援原生百度地圖,為地理資料可視化提供強有力的支援

pip 安裝

# 安裝 v1 以上版本
$ pip install pyecharts -U# 如果需要安裝 0.5.11 版本的開發者,可以使用# pip install pyecharts==0.5.11
           

柱形圖/條形圖

import pyechartsfrom pyecharts import Barbar = Bar("我的第一個圖表", "這裡是副标題")bar.use_theme('dark')                                  #暗色背景色bar.add("服裝",                                        #注解==label        ["襯衫","羊毛衫","雪紡衫","褲子","高跟鞋","襪子"], #橫坐标        [5, 20, 36, 10, 75, 90])                       #縱坐标
           
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖
from pyecharts import Barbar = Bar('基本柱狀圖','副标題')bar.add('服裝',        ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子'],        [5,20,36,10,75,90],        is_more_utils = True    #設定最右側工具欄        )
           
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖
# 堆疊(柱狀)圖from pyecharts import Barattr = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子']v1 = [5,20,36,10,75,90]v2 = [10,25,8,60,20,80]bar = Bar('柱狀資訊堆疊圖')bar.add('商家A',attr,v1,is_stack = True)  #is_stack = True才表示堆疊在一起bar.add('商家B',attr,v2,is_stack = True)
           
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖
# 并列(柱形)圖from pyecharts import Barattr = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子']v1 = [5,20,36,10,75,90]v2 = [10,25,8,60,20,80]bar = Bar('标記線和标記示例')bar.add('商家A',attr,v1,mark_point = ['average'])     #标記點:商家A的平均值bar.add('商家B',attr,v2,mark_line = ['min','max'])    #标記線:商家B最小/最大值
           
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖
# 橫向并列(柱形)圖from pyecharts import Barattr = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子']v1 = [5,20,36,10,75,90]v2 = [10,25,8,60,20,80]bar = Bar('X 軸與 Y 軸交換')bar.add('商家A',attr,v1)  bar.add('商家B',attr,v2,is_convert = True)    # is_convert = True:X 軸與 Y 軸交換
           
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖

折線/面積圖

# Line.add()方法簽名add(    name,x_axis,y_axis,    is_symbol_show = True,    is_smooth = False,    is_stack = False,    is_step = False,    is_fill = False,**kwargs        )以下為屬性預設值:    is_symbol_show = True,      #是否顯示标記圖形    is_smooth = False,          #是否顯示平滑曲線    is_stack = False,           #是否資料堆疊    is_step = False,            #是否是階梯線    is_fill = False,**kwargs    #是否填充曲線區域面積
           
from pyecharts import Lineattr = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子']v1 = [5,20,36,10,75,90]v2 = [10,25,8,60,20,80]line = Line('折線示例圖')line.add('商家A',attr,v1,mark_point = ['average'])    line.add('商家B',attr,v2,is_smooth = True, mark_line = ['max','average'])
           
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖

定制折線圖

from pyecharts import Lineattr = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子']v1 = [5,20,36,10,75,90]v2 = [10,25,8,60,20,80]line = Line('折線示例圖')line.add('商家A',attr,v1,    mark_point = ['average','max','min'],  #标注點:平均值,最大值,最小值    mark_point_symbol = 'diamond',         #标注點:鑽石形狀    mark_point_textcolor = '#40ff27')      #标注點:标注文本顔色line.add('商家B',attr,v2,mark_point = ['average','max','min'],    mark_point_symbol = 'arrow',    mark_point_symbolsize = 40)
           
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖

面積圖

from pyecharts import Lineattr = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子']v1 = [5,20,36,10,75,90]v2 = [10,25,8,60,20,80]line = Line('折線面積示例圖')line.add('商家A',attr,v1,is_fill = True,    line_opacity = 0.2,      #線條不透明度    area_opacity = 0.4,    symbol = None)  line.add('商家B',attr,v2,is_fill = True,    line_color = '#000',     #黑色    area_opacity = 0.3,      #填充不透明度    is_smooth = True)
           
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖

掃碼關注公衆号,每天推送幹貨!

箱線圖

# 導入箱型圖Boxplotfrom pyecharts import Boxplot columns = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]# 設定資料data1 = [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]data2 = [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]boxplot = Boxplot("箱形圖", "一年的降水量與蒸發量")x_axis = ['降水量','蒸發量']y_axis = [data1,data2]# prepare_data方法可以将資料轉為嵌套的 [min, Q1, median (or Q2), Q3, max]yaxis = boxplot.prepare_data(y_axis)       boxplot.add("天氣統計", x_axis, y_axis)
           
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖

折線圖

from pyecharts import Linecolumns = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]# 設定資料data1 = [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]data2 = [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]line = Line("折線圖","一年的降水量與蒸發量")# is_label_show是設定上方資料是否顯示line.add("降水量", columns, data1, is_label_show=True)line.add("蒸發量", columns, data2, is_label_show=True)
           
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖

雷達圖

from pyecharts import Radarradar = Radar("雷達圖", "一年的降水量與蒸發量")# 由于雷達圖傳入的資料得為多元資料,是以這裡需要做一下處理radar_data1 = [[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]]radar_data2 = [[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]]# 設定column的最大值,為了雷達圖更為直覺,這裡的月份最大值設定有所不同schema = [     ("Jan", 5), ("Feb",10), ("Mar", 10),    ("Apr", 50), ("May", 50), ("Jun", 200),    ("Jul", 200), ("Aug", 200), ("Sep", 50),    ("Oct", 50), ("Nov", 10), ("Dec", 5)]# 傳入坐标radar.config(schema)radar.add("降水量",radar_data1)# 一般預設為同一種顔色,這裡為了便于區分,需要設定item的顔色radar.add("蒸發量",radar_data2,item_color="#1C86EE")
           
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖

餅圖

# Pie.add()方法簽名add(name,attr,value,radius = None,center = None,rosetype = None,**kwargs)attr:屬性名稱radius:餅圖半徑,數組第一項是内徑,第二項是外徑,預設[0,75,],設定成百分比center:圓心,數組第一項是X軸,第二項是Y軸,預設[50,50]rosetype: 是否展示成南丁格爾圖,用過半徑區分資料大小,radius和area兩種模式,預設radius
           
from pyecharts import Pieattr = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子']v1 = [5,20,36,10,75,90]pie = Pie('餅圖示例')pie.add('',attr,v1,is_label_show = True)
           
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖

環形圖

from pyecharts import Pieattr = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子']v1 = [5,20,36,10,75,90]pie = Pie('餅圖-環形圖示例',title_pos = 'center')pie.add(        '',attr,v1,                 #'':圖例名(不使用圖例)        radius = [40,75],           #環形内外圓的半徑        is_label_show = True,       #是否顯示标簽        label_text_color = None,    #标簽顔色        legend_orient = 'vertical', #圖例垂直        legend_pos = 'left'        )
           
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖

散點圖

# Scatter.add()方法簽名add(name,x_axis,y_axis,extra_data = None,symbol_size = 10,**kwargs)extra_data -> int:第三維資料(可在 visualmap 中将視圖元素映射到第三次元)symbol_size -> int: 标記圖形大小,預設為10
           
from pyecharts import Scatterv1 = [5,20,35,50,65,80]v2 = [10,20,30,40,50,60]scatter = Scatter('散點示例圖')scatter.add('A',v1,v2)scatter.add('B',v1[::-1],v2)    #v1[::-1]代表切片倒序
           
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖

引入第三維/類似氣泡圖

from pyecharts import Scatterv1 = [5,20,35,50,65,80]v2 = [10,20,30,40,50,60]scatter = Scatter('散點-氣泡示例圖')scatter.add('A',v1,v2)scatter.add('B',v1[::-1],v2,                #v1[::-1]代表切片倒序            is_visualmap = True,            #顯示滑動條            symbol_size = 30,               #顯示圖内标點大小            vasual_range_size = [20,80])    #顯示滑動範圍
           
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖

掃碼關注公衆号,每天推送幹貨!

地圖

pyecharts地圖資料接口

Map.add() 方法簽名

安裝下列地圖資料包 pip install echarts-countries-pypkg pip install echarts-china-provinces-pypkg pip install echarts-china-cities-pypkg pip install echarts-china-counties-pypkg pip install echarts-china-misc-pypkg pip install echarts-united-kingdom-pypkgadd(    name,attr,value,    maptype = 'china',    is_roam = True,    is_map_symobol_show = True     **kwargs    )maptype -> str: 地圖類型,支援China,world,北京,天津,上海,湖南,湖北,……363個二線城市is_roam -> bool/str 是否開啟滑鼠縮放,漫遊等,預設 True,                    若隻想開啟縮放/平移 設定scale/move 設定成 True 開啟isis_map_symobol_show 是否顯示地圖示記,預設 True。
           
from pyecharts import Mapvalue = [155,10,66,78]attr = ['汕頭市','汕尾市','揭陽市','肇慶市']map = Map('廣東地圖示例',width = 1200,height = 600)map.add('',attr,value,maptype = '廣東',        is_visualmap = True,        visual_text_color = '#000',        is_label_show = True        )
           
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖
from pyecharts import Map# 世界地圖資料value = [95.1, 23.2, 43.3, 66.4, 88.5]attr= ["China", "Canada", "Brazil", "Russia", "United States"]map0 = Map("世界地圖示例", width=1200, height=600)map0.add("世界地圖", attr, value, maptype="world",  is_visualmap=True, visual_text_color='#000')
           
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖

詞雲圖

WordCloud.add() 方法簽名

add(    name,attr,value,    shape = 'circle',    word_gap = 20,    word_size_range = None    rotate_step = 45    )shape-> list :詞雲圖輪廓(circle,cardioid,diamond,triangle-forward,triangle,pentagon,star)word_gap -> int 單詞間隔 預設 20word_size_range -> int 單詞字型大小範圍 預設[12,60]rotate_step -> int 單詞旋轉角度,預設45。
           
from pyecharts import WordCloudname = [        'Though','the answer','this question',        'may at first','seem to border','on the',        'absurd','reflection','will show','that there',        'is a','good deal','more in','it than meets','the eye'        ]value = [10000,6189,4556,2356,2233,         1895,1456,1255,981,875,         542,462,361,265,125]worldcloud = WordCloud(width = 1300,height = 620)worldcloud.add('',name,value,word_size_range = [20,100])
           
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖
echarts 柱狀圖顔色_當Python遇上Echarts,快速圖表開發,即學即用柱形圖/條形圖折線/面積圖箱線圖折線圖雷達圖餅圖環形圖散點圖地圖詞雲圖

掃碼關注公衆号,每天推送幹貨!