自拍偷在线精品自拍偷|国产无码一区二区久久|最新版天堂资源中文官网|国产精品第一页爽爽影院|国产精品一区二区av不卡|久久久波多野av一区无码|国产欧美日本亚洲精品一4区|亚洲精品天堂在线观看2020

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

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

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

作者:俊欣

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

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

首先Grid組件

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

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")

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

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”這幾個(gè)參數(shù)來實(shí)現(xiàn),我們再來看一下下面這個(gè)例子,我們也可以將地圖和直方圖兩者拼接起來

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é)合才好呢?我們來看一下下面這個(gè)例子,我們將直方圖和折線圖通過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} 個(gè)"), 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} 個(gè)")),

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

bar.overlap(line)

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

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

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

我們也可以將上面提高的兩個(gè)組件結(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")

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

最后是Page組件

和上面Tab組件不一樣的是,Tab組件是一頁放一張圖表,有幾張圖表就分成幾頁,而Page組件則是將繪制完成的多張圖表統(tǒng)統(tǒng)放在一張頁面里面,代碼的改動(dò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")

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

## 上面的代碼都一樣,

page = Page(layout=Page.DraggablePageLayout)

page.add(

bar_datazoom_slider(),

line_markpoint(),

pie_rosetype(),

page.render("page_draggable_layout.html")

寫在最后

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

掃描二維碼推送至手機(jī)訪問。

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

本文鏈接:http://www.thonggone.com/post/117690.html

標(biāo)簽: 畫圖生成html

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

網(wǎng)頁制作app手機(jī)版(做網(wǎng)頁app)

網(wǎng)頁制作app手機(jī)版(做網(wǎng)頁app)

今天給各位分享網(wǎng)頁制作app手機(jī)版的知識,其中也會對做網(wǎng)頁app進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、手機(jī)網(wǎng)頁制作采用什么軟件? 2、怎樣把網(wǎng)頁做成app 3、制作網(wǎng)頁可以用什么軟件? 手機(jī)網(wǎng)頁制作采用什么軟件? 意派epub360,專業(yè)...

su素材庫免費(fèi)下載(su素材百度云)

su素材庫免費(fèi)下載(su素材百度云)

今天給各位分享su素材庫免費(fèi)下載的知識,其中也會對su素材百度云進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、能發(fā)個(gè)SU常用插件以及素材么,和建筑有關(guān)的,或者下載的鏈接也行,在下面,提問不讓留,,, 2、求一個(gè)素材網(wǎng)站,主要是平面設(shè)計(jì)素材,如PSD、C...

暑假工簽了勞動(dòng)合同不想干了怎么辦(暑假兼職簽了勞動(dòng)合同不想做了怎么辦)

暑假工簽了勞動(dòng)合同不想干了怎么辦(暑假兼職簽了勞動(dòng)合同不想做了怎么辦)

今天給各位分享暑假工簽了勞動(dòng)合同不想干了怎么辦的知識,其中也會對暑假兼職簽了勞動(dòng)合同不想做了怎么辦進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、簽了勞動(dòng)合同不想干了怎么辦 2、暑假兼職簽了勞動(dòng)合同不想做了怎么辦 3、暑假工打工有合同,但不想干了,辭...

幼兒園普通話打卡語錄(幼兒園普通話打卡內(nèi)容)

幼兒園普通話打卡語錄(幼兒園普通話打卡內(nèi)容)

本篇文章給大家談?wù)動(dòng)變簣@普通話打卡語錄,以及幼兒園普通話打卡內(nèi)容對應(yīng)的知識點(diǎn),希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、幼兒講文明懂禮貌的句子 2、幼兒園推廣普通話的內(nèi)容簡短 3、幼兒園堅(jiān)持每天打卡激勵(lì)語有哪些? 4、學(xué)校推廣普通話標(biāo)語_幼兒園推廣普通話宣傳標(biāo)語81條...

免費(fèi)建網(wǎng)站軟件下載(建設(shè)網(wǎng)站的軟件)

免費(fèi)建網(wǎng)站軟件下載(建設(shè)網(wǎng)站的軟件)

本篇文章給大家談?wù)劽赓M(fèi)建網(wǎng)站軟件下載,以及建設(shè)網(wǎng)站的軟件對應(yīng)的知識點(diǎn),希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、哪個(gè)網(wǎng)站可以免費(fèi)下載網(wǎng)頁制作軟件,怎樣制作網(wǎng)頁? 2、哪里有免費(fèi)的建站軟件下載? 3、有什么簡單的建網(wǎng)站的軟件, 4、請推薦幾個(gè)免費(fèi)建站軟件,簡單好用的...

Dreamweaver網(wǎng)頁制作書籍(dreamweaver軟件免費(fèi)下載)

Dreamweaver網(wǎng)頁制作書籍(dreamweaver軟件免費(fèi)下載)

今天給各位分享Dreamweaver網(wǎng)頁制作書籍的知識,其中也會對dreamweaver軟件免費(fèi)下載進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、推薦幾本網(wǎng)頁制作的書籍。 2、求《Dreamweaver CS6 網(wǎng)頁設(shè)計(jì)與制作詳解》這本書的電子版,萬分...