日韩精品亚洲精品中文字幕乱伦AV|曰韩区二区三区日韩中文字幕五码|ady99久久人人看人人摸人人|动漫一区二区黄99精品视频在线|AV片在线观看亚洲中文国产精品|伦乱在线VA欧美性爱一二区|亚洲无码mv91热色视频|激情六月综合欧美精品中文

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

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

網(wǎng)站建設8個月前 (07-01)445

作者:俊欣

來源:關于數(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",

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

yaxis_index=0,

color="#d14a61",

.add_yaxis(

"B",

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

yaxis_index=1,

color="#5793f3",

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

line = (

Line()

.add_xaxis(x_data)

.add_yaxis(

"C",

[具體相關的數(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)起來。

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

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

本文鏈接:http://m.atlasseeker.com/post/117690.html

分享給朋友:

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

手機網(wǎng)站建設(手機網(wǎng)站建設電話)

手機網(wǎng)站建設(手機網(wǎng)站建設電話)

今天給各位分享手機網(wǎng)站建設的知識,其中也會對手機網(wǎng)站建設電話進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧!本文目錄一覽: 1、手機網(wǎng)站建設有哪些流程 2、手機網(wǎng)站建設需要注意的幾點 3、如何建立手機網(wǎng)站 4、手機網(wǎng)站在建設怎么提高利用率 5、手機網(wǎng)站如何建設...

網(wǎng)站seo優(yōu)化(seo網(wǎng)站推廣怎么做)

網(wǎng)站seo優(yōu)化(seo網(wǎng)站推廣怎么做)

本篇文章給大家談談網(wǎng)站seo優(yōu)化,以及seo網(wǎng)站推廣怎么做對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、網(wǎng)站seo怎么優(yōu)化? 2、網(wǎng)站SEO優(yōu)化的八種方法 3、網(wǎng)站seo怎么優(yōu)化 網(wǎng)站seo怎么優(yōu)化? 一、網(wǎng)站搭建1、選擇合適的建站軟件。2、網(wǎng)站模板的選擇。3...

PPT怎么設計文檔主題(怎么設置PPT文檔設計主題)

PPT怎么設計文檔主題(怎么設置PPT文檔設計主題)

本篇文章給大家談談PPT怎么設計文檔主題,以及怎么設置PPT文檔設計主題對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、怎么為ppt設置主題 2、如何設置ppt的主題 3、ppt怎么設置主題模板 4、ppt怎么修改主題樣式 怎么為ppt設置主題 如果一個PP...

免費下載ppt模板網(wǎng)站知乎(有ppt免費下載網(wǎng)站)

免費下載ppt模板網(wǎng)站知乎(有ppt免費下載網(wǎng)站)

今天給各位分享免費下載ppt模板網(wǎng)站知乎的知識,其中也會對有ppt免費下載網(wǎng)站進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧!本文目錄一覽: 1、免費下載各種PPT文件的網(wǎng)站有哪些? 2、推薦幾個免費的ppt?ps?素材網(wǎng)站和學習網(wǎng)站? 設匯怎么樣? 3、有哪些好的PP...

小學教資作文素材百度網(wǎng)盤(寫作素材 百度網(wǎng)盤)

小學教資作文素材百度網(wǎng)盤(寫作素材 百度網(wǎng)盤)

今天給各位分享小學教資作文素材百度網(wǎng)盤的知識,其中也會對寫作素材 百度網(wǎng)盤進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧!本文目錄一覽: 1、求 小學教師資格證 考試 真題 。。。急啊,在線等 2、求《教師資格證作文素材》全文免費下載百度網(wǎng)盤資源,謝謝~ 3、求小學教師...

稿定設計如何導出H5(稿定設計如何導出)

稿定設計如何導出H5(稿定設計如何導出)

今天給各位分享稿定設計如何導出H5的知識,其中也會對稿定設計如何導出進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧!本文目錄一覽: 1、方正飛翔h5作品怎么導出 2、稿定設計怎么分享鏈接 3、稿定設計在線PS好的圖怎么下載到電腦上? 4、如何把整個ppt轉(zhuǎn)h5...