基于Python pyecharts實現(xiàn)多種圖例代碼解析
詞云圖
from pyecharts.charts import WordClouddef word1(): 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), ] worldcloud = ( WordCloud() .add('', words, word_size_range=[20, 100]) .set_global_opts(title_opts=opt.TitleOpts(title='WorldCloud-shape-diamond')) ) # worldcloud = ( # WordCloud() # .add('', words, word_size_range=[20, 100], shape=SymbolType.DIAMOND) # .set_global_opts(title_opts=opt.TitleOpts(title='WorldCloud-shape-diamond')) # ) worldcloud.render('wordl.html') os.system('wordl.html')
效果如下:

散點圖
from pyecharts.charts import Scatterimport numpy as npdef sca(): x_data = np.linspace(0, 10, 30) y1_data = np.sin(x_data) y2_data = np.cos(x_data) # 繪制散點圖 # 設(shè)置圖表大小 figsise = opt.InitOpts(width='800px', height='600px') scatter = Scatter(init_opts=figsise) # 添加數(shù)據(jù) scatter.add_xaxis(xaxis_data=x_data) scatter.add_yaxis(series_name='sin(x)散點圖', #名稱 y_axis=y1_data, # 數(shù)據(jù) label_opts=opt.LabelOpts(is_show=False), # 數(shù)據(jù)不顯示 symbol_size=15, # 設(shè)置散點的大小 symbol='triangle' # 設(shè)置散點的形狀 ) scatter.add_yaxis(series_name='cos(x)散點圖', y_axis=y2_data, label_opts=opt.LabelOpts(is_show=False)) scatter.render() os.system('render.html')
效果如下:

餅狀圖
from pyecharts.charts import Piefrom pyecharts import options as optfrom pyecharts.faker import Faker as fadef pie1(): pie = ( Pie() .add('', [list(z) for z in zip(fa.choose(), fa.values())]) .set_global_opts(title_opts=opt.TitleOpts(title='pie-基本示例')) .set_series_opts(label_opts=opt.LabelOpts(formatter='{b}:{c}')) ) pie.render() os.system('render.html')def pie2(): pie = ( Pie() .add('', [list(z) for z in zip(fa.choose(), fa.values())], radius=['40%', '75%']) .set_global_opts(title_opts=opt.TitleOpts(title='pie-示例'), legend_opts=opt.LegendOpts( orient='vertical', pos_top='15%', pos_left='2%' )) .set_series_opts(label_opts=opt.LabelOpts(formatter='{b}:{c}')) ) pie.render() os.system('render.html')def pie3(): pie = ( Pie() .add('', [list(z) for z in zip(fa.choose(), fa.values())], radius=['40%', '75%'], center=['25%', '50%'], rosetype='radius', label_opts=opt.LabelOpts(is_show=False)) .add('', [list(z) for z in zip(fa.choose(), fa.values())], radius=['30%', '75%'], center=['75%', '50%'], rosetype='area') .set_global_opts(title_opts=opt.TitleOpts(title='pie-玫瑰圖示例')) ) pie.render() os.system('render.html')def pie4(): # 多餅圖顯示 pie = ( Pie() .add( '', [list(z) for z in zip(['劇情', '其他'], [25, 75])], center=['20%', '30%'], radius=[40, 60] ) .add( '', [list(z) for z in zip(['奇幻', '其他'], [24, 76])], center=['55%', ’30%’], radius=[40, 60] ) .add( '', [list(z) for z in zip(['愛情', '其他'], [14, 86])], center=['20%', '70%'], radius=[40, 60] ) .add( '', [list(z) for z in zip(['驚駭', '其他'], [1, 89])], center=['55%', '70%'], radius=[40, 60] ) .set_global_opts( title_opts=opt.TitleOpts(title='pie-多餅圖基本示例'), legend_opts=opt.LegendOpts(type_='scroll', pos_top='20%', pos_left='80%', orient='vertical' ) ) .set_series_opts(label_opts=opt.LabelOpts(formatter='{b}:{c}')) ) pie.render() os.system('render.html')
直方圖
from pyecharts.charts import Barfrom pyecharts import options as optfrom pyecharts.globals import ThemeTypefrom pyecharts.faker import Faker as faimport randomdef pye1(): # 生成隨機(jī)數(shù)據(jù) attr = fa.days_attrs v1 = [random.randrange(10, 150) for _ in range(31)] v2 = [random.randrange(10, 150) for _ in range(31)] # 初始化一個Bar對象,并設(shè)定一寫初始化設(shè)置 bar = Bar(init_opts=opt.InitOpts(theme=ThemeType.WHITE)) # 添加數(shù)據(jù) bar.add_xaxis(attr) # is_selected: 打開圖表時是否默認(rèn)加載 grap:不同系列的柱間距離,百分比; color:指定柱狀圖Label的顏色 bar.add_yaxis('test1', v1, gap='0', category_gap='20%', color=fa.rand_color()) bar.add_yaxis('test2', v2, is_selected=False, gap='0%', category_gap='20%', color=fa.rand_color()) # 全局配置 # title_opts:圖標(biāo)標(biāo)題相關(guān)設(shè)置 # toolbox_opts: 工具欄相關(guān)設(shè)置 # yaxis_opts/xaxis_opts: 坐標(biāo)軸相關(guān)設(shè)置 # axislabel_opts: 坐標(biāo)軸簽字相關(guān)設(shè)置 # axisline_opts: 坐標(biāo)軸軸線相關(guān)設(shè)置 # datazoom_opts: 坐標(biāo)軸軸線相關(guān)設(shè)置 # markpoint_opts: 標(biāo)記點相關(guān)設(shè)置 # markpoint_opts:label_opts=opts.LabelOpts(is_show=False) 標(biāo)簽值是否疊加 # markline_opts:標(biāo)記線相關(guān)設(shè)置 bar.set_global_opts(title_opts=opt.TitleOpts(title='主標(biāo)題', subtitle='副標(biāo)題'), toolbox_opts=opt.ToolboxOpts(), yaxis_opts=opt.AxisOpts(axislabel_opts=opt.LabelOpts(formatter='{value}/月'), name='這是y軸'), xaxis_opts=opt.AxisOpts( axisline_opts=opt.AxisLineOpts(linestyle_opts=opt.LineStyleOpts(color=’blue’)), name='這是x軸'), datazoom_opts=opt.DataZoomOpts() ) bar.set_series_opts(markpoint_opts=opt.MarkPointOpts(data=[opt.MarkPointItem(type_='max', name='最大值'),opt.MarkPointItem(type_='min', name='最小值'),opt.MarkPointItem(type_='average', name='平均值')]), markline_opts=opt.MarkLineOpts(data=[opt.MarkLineItem(type_='min', name='最小值'), opt.MarkLineItem(type_='max', name='最大值'), opt.MarkLineItem(type_='average', name='平均值')])) # 指定生成html文件路徑 bar.render(’test.html’) os.system('test.html')
效果如下

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Springboot Druid 自定義加密數(shù)據(jù)庫密碼的幾種方案2. 詳解Android studio 動態(tài)fragment的用法3. 解決Android studio xml界面無法預(yù)覽問題4. Spring Boot和Thymeleaf整合結(jié)合JPA實現(xiàn)分頁效果(實例代碼)5. 什么是python的自省6. Vuex localStorage的具體使用7. php模擬實現(xiàn)斗地主發(fā)牌8. Spring MVC+ajax進(jìn)行信息驗證的方法9. Vue封裝一個TodoList的案例與瀏覽器本地緩存的應(yīng)用實現(xiàn)10. 使用Android studio查看Kotlin的字節(jié)碼教程

網(wǎng)公網(wǎng)安備