欧美亚洲综合图区在线|天天射天天干国产成卜|99久久免费国产精精品|国产的欧美一区二区三区|日韩中文字幕无码不卡专区|亚麻成人aV极品一区二区|国产成人AV区一区二区三|成人免费一区二区三区视频网站

當前位置:首頁 > 網(wǎng)站建設(shè) > 正文內(nèi)容

畫圖生成html(畫圖生成程序)

網(wǎng)站建設(shè)7個月前 (07-01)409

作者:俊欣

來源:關(guān)于數(shù)據(jù)分析與可視化

前兩篇Pyecharts的文章來幫我們簡單的梳理了一下可以用Pyecharts來繪制哪些圖表之后,本篇文章我們用pyecharts里面的一些組件,將繪制的圖表都組合起來

首先Grid組件

首先介紹Pyecharts模塊當中的Grid組件,使用Grid組件可以很好地將多張圖無論是上下組合還是左右組合,都能夠很好地拼接起來,我們先來看第一個例子

bar = (

Bar()

.add_xaxis(Faker.choose())

.add_yaxis("商家1", Faker.values())

.add_yaxis("商家2", Faker.values())

.set_global_opts(title_opts=opts.TitleOpts(title="直方圖"))

line = (

Line()

.add_xaxis(Faker.choose())

.add_yaxis("商家1", Faker.values())

.add_yaxis("商家2", Faker.values())

.set_global_opts(

展開全文

title_opts=opts.TitleOpts(title="折線圖", pos_top="48%"),

legend_opts=opts.LegendOpts(pos_top="48%"),

grid = (

Grid()

.add(bar, grid_opts=opts.GridOpts(pos_bottom="60%"))

.add(line, grid_opts=opts.GridOpts(pos_top="50%"))

.render("水平組合圖_test.html")

我們可以看到兩張圖表被以上下組合的方式拼接起來,當然除了上下的拼接以外,我們還可以左右來拼接,代碼如下

bar = (

Bar()

.add_xaxis(Faker.choose())

.add_yaxis("商家1", Faker.values())

.add_yaxis("商家2", Faker.values())

.set_global_opts(title_opts=opts.TitleOpts(title="直方圖"),legend_opts=opts.LegendOpts(pos_left="20%"),)

line = (

Line()

.add_xaxis(Faker.choose())

.add_yaxis("商家1", Faker.values())

.add_yaxis("商家2", Faker.values())

.set_global_opts(

title_opts=opts.TitleOpts(title="折線圖", pos_right="5%"),

legend_opts=opts.LegendOpts(pos_right="20%"),

grid = (

Grid()

.add(bar, grid_opts=opts.GridOpts(pos_left="60%"))

.add(line, grid_opts=opts.GridOpts(pos_right="50%"))

.render("垂直組合圖_test.html")

可以看到我們無論是想上下拼接還是左右拼接,都可以通過調(diào)整參數(shù)“pos_left”、“pos_right”、“pos_top”以及“pos_bottom”這幾個參數(shù)來實現(xiàn),我們再來看一下下面這個例子,我們也可以將地圖和直方圖兩者拼接起來

bar = (

Bar()

.add_xaxis(Faker.choose())

.add_yaxis("商家1", Faker.values())

.add_yaxis("商家2", Faker.values())

.set_global_opts(legend_opts=opts.LegendOpts(pos_left="20%"))

map = (

Map()

.add("商家1", [list(z) for z in zip(Faker.provinces, Faker.values())], "china")

.set_global_opts(title_opts=opts.TitleOpts(title="地圖-基本示例"))

grid = (

Grid()

.add(bar, grid_opts=opts.GridOpts(pos_top="50%", pos_right="75%"))

.add(map, grid_opts=opts.GridOpts(pos_left="60%"))

.render("地圖+直方圖.html")

再談Overlap組件

英文單詞“overlap”的意思是重疊,那么放在這里,也就指的是可以將多張圖合并成一張,那么該怎么結(jié)合才好呢?我們來看一下下面這個例子,我們將直方圖和折線圖通過overlap組件組合到一起

v1 = Faker.values()

v2 = Faker.values()

畫圖生成html(畫圖生成程序)

v3 = Faker.values()

bar = (

Bar()

.add_xaxis(Faker.provinces)

.add_yaxis("商家A", v1)

.add_yaxis("商家B", v2)

.extend_axis(

yaxis=opts.AxisOpts(

axislabel_opts=opts.LabelOpts(formatter="{value} 個"), interval=20

.set_series_opts(label_opts=opts.LabelOpts(is_show=False))

.set_global_opts(

title_opts=opts.TitleOpts(title="Overlap-bar+line"),

yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter="{value} 個")),

line = Line().add_xaxis(Faker.provinces).add_yaxis("商家C", v3, yaxis_index=1)

bar.overlap(line)

bar.render("直方圖+折線圖Overlap.html")

除此之外,我們也可以將散點圖和折線圖合并在一張圖上面,在代碼上就只要將直方圖的代碼替換成散點圖的就行,這邊也就具體不做演示

Grid組件 + Overlap組件相結(jié)合

我們也可以將上面提高的兩個組件結(jié)合起來使用,以此來繪制多條Y軸的直方圖圖表,代碼如下

Bar()

.add_xaxis(x_data)

.add_yaxis(

"A",

[具體相關(guān)的數(shù)據(jù)],

yaxis_index=0,

color="#d14a61",

.add_yaxis(

"B",

[具體相關(guān)的數(shù)據(jù)],

yaxis_index=1,

color="#5793f3",

.直方圖的全局配置代碼....

line = (

Line()

.add_xaxis(x_data)

.add_yaxis(

"C",

[具體相關(guān)的數(shù)據(jù)],

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("test.html")

分頁組件Tab

我們在用Pyecharts繪制了多張圖表之后,可以直接Tab組件將多張圖表連起來,一頁放一張圖表,具體看下面的例子和代碼,

def bar_datazoom_slider() - Bar:

c = (

Bar()

.add_xaxis(Faker.days_attrs)

.add_yaxis("商家A", Faker.days_values)

.set_global_opts(

title_opts=opts.TitleOpts(title="Bar-DataZoom(slider-水平)"),

datazoom_opts=[opts.DataZoomOpts()],

return c

def line_markpoint() - Line:

c = (

Line()

.add_xaxis(Faker.choose())

.add_yaxis(

"商家A",

Faker.values(),

markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="min")]),

.set_global_opts(title_opts=opts.TitleOpts(title="折線圖"))

return c

def pie_rosetype() - Pie:

v = Faker.choose()

c = (

Pie()

.add(

"",

[list(z) for z in zip(v, Faker.values())],

radius=["30%", "75%"],

center=["25%", "50%"],

rosetype="radius",

label_opts=opts.LabelOpts(is_show=False),

.set_global_opts(title_opts=opts.TitleOpts(title="餅圖-玫瑰圖示例"))

return c

tab = Tab()

tab.add(bar_datazoom_slider(), "直方圖")

tab.add(line_markpoint(), "折線圖")

tab.add(pie_rosetype(), "餅圖")

tab.render("tab_base.html")

分別將所繪制的三張圖表放置在三個頁面當中,通過pyecharts庫當中的tab串聯(lián)起來

最后是Page組件

和上面Tab組件不一樣的是,Tab組件是一頁放一張圖表,有幾張圖表就分成幾頁,而Page組件則是將繪制完成的多張圖表統(tǒng)統(tǒng)放在一張頁面里面,代碼的改動上面也十分的簡單,只要將上面代碼的Tab部分改成Page()即可,如下

def bar_datazoom_slider() - Bar:

c = (

Bar()

.add_xaxis(Faker.days_attrs)

.add_yaxis("商家A", Faker.days_values)

.set_global_opts(

title_opts=opts.TitleOpts(title="Bar-DataZoom(slider-水平)"),

datazoom_opts=[opts.DataZoomOpts()],

return c

def line_markpoint() - Line:

c = (

Line()

.add_xaxis(Faker.choose())

.add_yaxis(

"商家A",

Faker.values(),

markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="min")]),

.set_global_opts(title_opts=opts.TitleOpts(title="折線圖"))

return c

def pie_rosetype() - Pie:

v = Faker.choose()

c = (

Pie()

.add(

"",

[list(z) for z in zip(v, Faker.values())],

radius=["30%", "75%"],

center=["25%", "50%"],

rosetype="radius",

label_opts=opts.LabelOpts(is_show=False),

.set_global_opts(title_opts=opts.TitleOpts(title="餅圖-玫瑰圖示例"))

return c

page = Page(layout=Page.SimplePageLayout)

page.add(

bar_datazoom_slider(),

line_markpoint(),

pie_rosetype(),

page.render("page_simple_layout.html")

上圖所示的圖表在頁面當中是不能被挪動的,在Page()組件當中我們還能夠使得圖表按照我們所想的那樣隨意的挪動

## 上面的代碼都一樣,

page = Page(layout=Page.DraggablePageLayout)

page.add(

bar_datazoom_slider(),

line_markpoint(),

pie_rosetype(),

page.render("page_draggable_layout.html")

寫在最后

本篇文章所用到的繪制的圖表都比較的簡單,為了可以讓讀者更加容易輕松的上手來實踐,本質(zhì)上就是通過上面提到的幾大組件將繪制好的圖表給串聯(lián)起來。

掃描二維碼推送至手機訪問。

版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請注明出處。

本文鏈接:http://www.landcheck.net/post/117690.html

“畫圖生成html(畫圖生成程序)” 的相關(guān)文章

kitten源碼編輯器(編程貓源碼編輯器kitten)

kitten源碼編輯器(編程貓源碼編輯器kitten)

本篇文章給大家談?wù)刱itten源碼編輯器,以及編程貓源碼編輯器kitten對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、kittentimeover代碼如何編寫 2、源碼編輯器小可問乖法題那個怎么弄 3、編程貓可以cpu指令嗎 kittentimeover代碼...

空白個人簡歷模板電子版免費(個人簡歷模板 空白電子版)

空白個人簡歷模板電子版免費(個人簡歷模板 空白電子版)

本篇文章給大家談?wù)効瞻讉€人簡歷模板電子版免費,以及個人簡歷模板 空白電子版對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、個人簡歷表格空白word下載 2、求個人空白簡歷模板下載百度云? 3、個人空白簡歷模板下載百度云 4、求一份標準的個人簡歷模版word表格...

網(wǎng)頁制作的軟件叫什么(網(wǎng)頁制作的軟件叫什么)

網(wǎng)頁制作的軟件叫什么(網(wǎng)頁制作的軟件叫什么)

今天給各位分享網(wǎng)頁制作的軟件叫什么的知識,其中也會對網(wǎng)頁制作的軟件叫什么進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、網(wǎng)頁制作的軟件有哪些 2、制作網(wǎng)站用什么軟件做的? 3、網(wǎng)頁制作需要什么軟件? 4、通常設(shè)計網(wǎng)頁用的軟件是什么? 5、網(wǎng)站...

會員商城小程序(小程序商城會員中心的功能)

會員商城小程序(小程序商城會員中心的功能)

本篇文章給大家談?wù)剷T商城小程序,以及小程序商城會員中心的功能對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、新零售商城小程序有什么優(yōu)點? 2、做商城小程序得多少成本? 3、做一個帶有會員積分,積分商城兌換,掃碼支付的微信小程序要多少錢? 新零售商城小程序有什么...

外貿(mào)業(yè)務(wù)員開發(fā)信模板燈具(外貿(mào)業(yè)務(wù)員開發(fā)信模版)

外貿(mào)業(yè)務(wù)員開發(fā)信模板燈具(外貿(mào)業(yè)務(wù)員開發(fā)信模版)

本篇文章給大家談?wù)勍赓Q(mào)業(yè)務(wù)員開發(fā)信模板燈具,以及外貿(mào)業(yè)務(wù)員開發(fā)信模版對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、外貿(mào)業(yè)務(wù)員如何寫開發(fā)信 2、五種常見外貿(mào)業(yè)務(wù)員的邀請函模板 3、誰知道如何寫開發(fā)信—獻給外貿(mào)新人 4、外貿(mào)新人可以寫哪些風格的開發(fā)信 5、什...

word文檔封面模板旅游(旅游畫冊封面封底怎么設(shè)計)

word文檔封面模板旅游(旅游畫冊封面封底怎么設(shè)計)

今天給各位分享word文檔封面模板旅游的知識,其中也會對旅游畫冊封面封底怎么設(shè)計進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、怎么用word做封面 2、怎么給Word文檔插入封面? 3、word2007如何制作封面(不要使用自帶的模版,樣式太簡單了...