国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)據(jù)可視化——用python繪制氣泡圖、三維散點(diǎn)圖、多重柱形圖案例

這篇具有很好參考價(jià)值的文章主要介紹了數(shù)據(jù)可視化——用python繪制氣泡圖、三維散點(diǎn)圖、多重柱形圖案例。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

前言

一、氣泡圖的繪制

1、什么是氣泡圖?他適用于什么數(shù)據(jù)?

2、圖形效果展示

3、導(dǎo)入需要用到的庫(kù)

4、讀取要分析的數(shù)據(jù)

5、檢查數(shù)據(jù)是否有問(wèn)題

6、將要對(duì)比數(shù)據(jù)提取出來(lái)

7、畫(huà)圖

二、三維散點(diǎn)圖的繪制

1、什么是三維散點(diǎn)圖?

2、導(dǎo)入需要用到的數(shù)據(jù)庫(kù)

3、畫(huà)圖

三、多重柱形圖的繪制

1、什么是多重柱形圖?

2、效果圖展示

3、導(dǎo)入需要用到的庫(kù)

4、讀取要分析的數(shù)據(jù)

5、分組聚合

6、遍歷

7、畫(huà)圖

四、總結(jié)


前言

氣泡圖與散點(diǎn)圖十分相似,它們總稱為數(shù)據(jù)關(guān)系型圖,散點(diǎn)圖主要分為二維散點(diǎn)圖與三維散點(diǎn)圖、常用于反映數(shù)值之間的相對(duì)位置,而氣泡圖常用于展示三維甚至四維變量的關(guān)系,由一個(gè)個(gè)像氣泡元素組成。而多重柱形圖可以用來(lái)展現(xiàn)某個(gè)分類(lèi)下多個(gè)數(shù)據(jù)的對(duì)比。接下來(lái)讓我們一起來(lái)看看氣泡圖和、三維散點(diǎn)圖和多重柱形圖的繪制。本人也是一位正在學(xué)習(xí)中的新手,了解有限,有什么錯(cuò)誤的地方大家多多指點(diǎn)。

一、氣泡圖的繪制

1、什么是氣泡圖?他適用于什么數(shù)據(jù)?

氣泡圖的其中一條變量的表現(xiàn)形式是體現(xiàn)在氣泡的大小或顏色深淺上,如果一個(gè)數(shù)據(jù)集中包含非常多的點(diǎn),那么散點(diǎn)圖可以將這些數(shù)據(jù)對(duì)比的結(jié)果一目了然,是比較適用的。

2、圖形效果展示

python 氣泡圖,python,3d

3、導(dǎo)入需要用到的庫(kù)

import pandas as pd
import pyecharts.options as opts
from pyecharts.charts import Scatter

在這里我們導(dǎo)入pandas庫(kù),pandas庫(kù)是數(shù)據(jù)分析中非常常用的庫(kù),用于讀取csv、xls等文件中的數(shù)據(jù)。

從pyecharts導(dǎo)入options,在生成圖表時(shí),可以根據(jù)實(shí)際情況設(shè)置這些選項(xiàng)更改外觀

4、讀取要分析的數(shù)據(jù)

下面以航空公司數(shù)據(jù)為例,分析年齡、飛行次數(shù)、飛行間隔之間的關(guān)系

data = pd.read_excel(r'航空公司數(shù)據(jù)-剔除空年齡.xlsx')

python 氣泡圖,python,3d

?在這里,我讀取的是xls文件,如果你需要讀取的文件為csv,那你可以參照這個(gè)寫(xiě)法:

????????????????data = pd.read_csv(r'航空公司數(shù)據(jù)-剔除空年齡.csv',encoding = 'gbk')

注意:當(dāng)目標(biāo)文件和當(dāng)前文件不在同級(jí)目錄時(shí),讀取數(shù)據(jù)時(shí)可以考慮使用絕對(duì)路徑或者在相對(duì)路徑前加上相對(duì)路徑特殊符號(hào),如:../、../../

5、檢查數(shù)據(jù)是否有問(wèn)題

data_select = data.loc[:100,['年齡','飛行次數(shù)','最大乘機(jī)時(shí)間間隔']]
data_select.isnull().sum()

?????????????????????????????????????????python 氣泡圖,python,3d

loc[]切片:使用.loc[ ]第一個(gè)參數(shù)是行索引,第二個(gè)參數(shù)是列索引

pandas庫(kù)中有一個(gè)isnull()函數(shù),它可以用來(lái)判斷缺失值

其中:isnull().sum()可以用于查詢每列缺失值的數(shù)量

? ? ? ? ? ?isnull().any()可以用于判斷哪些列包含缺失值,并且在缺失值返回True,反之False。

注意:如果數(shù)據(jù)有異常值也需要對(duì)異常值進(jìn)行處理

6、將要對(duì)比數(shù)據(jù)提取出來(lái)

x = data_select['飛行次數(shù)'].tolist()
y = data_select['最大乘機(jī)時(shí)間間隔'].tolist()
z = data_select['年齡'].tolist()
x

python 氣泡圖,python,3d

.tolist()函數(shù)可以將數(shù)組或矩陣轉(zhuǎn)換為列表,它的返回值以list的形式出現(xiàn)

7、畫(huà)圖

color_range = ['#ffcc00','#ff7f00','#ff0000']
c = (
    Scatter(init_opts=opts.InitOpts(width="800px", height="400px"))
    .set_global_opts(
        xaxis_opts=opts.AxisOpts(
            type_="value", 
            splitline_opts=opts.SplitLineOpts(is_show=True),
            name = '飛行次數(shù)', # 坐標(biāo)軸名稱
            name_location = 'center',
            name_gap = 30
        ),
        yaxis_opts=opts.AxisOpts(
            type_="value",
            splitline_opts=opts.SplitLineOpts(is_show=True),
            name = '最大乘機(jī)時(shí)間間隔',
            name_location = 'center',
            name_gap = 30
        ),
        legend_opts = opts.LegendOpts(pos_top='5%'), # 圖示位置
    )
)
for i,j,q in zip(x,y,z):
    c.add_xaxis(xaxis_data = [i]) 
    c.add_yaxis(
        series_name='氣泡大?。耗挲g', # 巧用序列名稱和圖示來(lái)提示氣泡大小的含義
        y_axis = [j],
        symbol_size = q//3, # 根據(jù)年齡數(shù)據(jù)定義合適的氣泡大小
        color = '#ff8080'
    )
c.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
c.render_notebook()

python 氣泡圖,python,3d

在這里應(yīng)用了matplotlib模塊中的scatter函數(shù)繪制了氣泡圖,氣泡的大小代表年齡

xAxis代表坐標(biāo)系中的x軸 ,yAxis代表坐標(biāo)系中的y軸

type:坐標(biāo)軸類(lèi)型,'value'—數(shù)據(jù)軸、'time'—時(shí)間軸、'log'—對(duì)數(shù)軸、'category'—類(lèi)目軸

name:坐標(biāo)軸名稱

nameLocation:坐標(biāo)軸名稱的位置

for in zip():并行遍歷,zip()函數(shù)可以將多個(gè)序列打包在一起,然后同時(shí)遍歷它們

label_opts:標(biāo)簽配置項(xiàng)

color:配置顏色

is_show:是否顯示標(biāo)簽(True 、Flase)

render_notebook:直接調(diào)用render_notebook方法可以隨時(shí)隨地的渲染圖表

還有更多的配置項(xiàng)可以查看官網(wǎng)文檔

二、三維散點(diǎn)圖的繪制

1、什么是三維散點(diǎn)圖?

三維散點(diǎn)圖可以反映三個(gè)數(shù)值之間的關(guān)系,他是一個(gè)立體的圖形,我們可以理解為將氣泡圖的三維數(shù)據(jù)繪制到三維坐標(biāo)系,就形成了三維散點(diǎn)圖。

在這里,用的數(shù)據(jù)與氣泡圖的一樣,以航空公司數(shù)據(jù)為例,分析年齡、飛行次數(shù)、飛行間隔之間的關(guān)系,所以不再展示數(shù)據(jù)的處理

2、導(dǎo)入需要用到的數(shù)據(jù)庫(kù)

import pyecharts.options as opts
from pyecharts.charts import Scatter3D

3、畫(huà)圖

c = (
    Scatter3D()
    .add(
        '',
        data = [[i,j,k] for i,j,k in zip(x,y,z)], # 數(shù)據(jù):二維數(shù)組
        xaxis3d_opts=opts.Axis3DOpts( # x軸配置
            name='飛行次數(shù)',
            type_="value",
        ),
        yaxis3d_opts=opts.Axis3DOpts( # y軸配置
            name='最大乘機(jī)時(shí)間間隔',
            type_="value",
        ),
        zaxis3d_opts=opts.Axis3DOpts( # z軸配置
            name='年齡',
            type_="value",
        ),
    )
    .set_global_opts(
        visualmap_opts=opts.VisualMapOpts(
                max_= max(z),
                range_color=[
                    "#1710c0",
                    "#0b9df0",
                    "#00fea8",
                    "#00ff0d",
                    "#f5f811",
                    "#f09a09",
                    "#fe0300",
                ],
        ),
    )
)
c.render_notebook()

python 氣泡圖,python,3d

三維散點(diǎn)圖的第三條數(shù)據(jù)展現(xiàn)在z軸上,通過(guò)對(duì)z軸的數(shù)據(jù)進(jìn)行顏色設(shè)置,展現(xiàn)出年齡的大小,與氣泡圖不同,氣泡圖是表現(xiàn)在氣泡的顏色和大小上。

name:坐標(biāo)軸名稱

type:坐標(biāo)軸類(lèi)型,'value'—數(shù)據(jù)軸、'time'—時(shí)間軸、'log'—對(duì)數(shù)軸、'category'—類(lèi)目軸

color:配置顏色

render_notebook:直接調(diào)用render_notebook方法可以隨時(shí)隨地的渲染圖表

還有更多的配置項(xiàng)可以查看官網(wǎng)文檔:

相關(guān)配置https://gallery.pyecharts.org/#/Scatter3D/scatter3d

三、多重柱形圖的繪制

1、什么是多重柱形圖?

多組柱形圖也叫作簇狀柱形圖,它是用來(lái)展現(xiàn)某個(gè)分類(lèi)下多個(gè)數(shù)據(jù)的對(duì)比。

2、效果圖展示

python 氣泡圖,python,3d

3、導(dǎo)入需要用到的庫(kù)

import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Bar

4、讀取要分析的數(shù)據(jù)

data_user = pd.read_excel(r'新用戶表.xlsx')

python 氣泡圖,python,3d

5、分組聚合

result = data_user.groupby(by=['性別','城市'])['姓名'].count()
result_man = result['男']
result_woman = result['女']
result_woman

python 氣泡圖,python,3d

對(duì)數(shù)據(jù)內(nèi)部進(jìn)行分組處理時(shí),可以通過(guò)pandas下的groupby()函數(shù)來(lái)解決。

count() 方法用于統(tǒng)計(jì)字符串里某個(gè)字符或子字符串出現(xiàn)的次數(shù)。

result()通常用于存儲(chǔ)函數(shù)或方法的返回值

6、遍歷

[i for i in result_man.index]
y1 = result_man.tolist()
y2 = result_woman.tolist()

用for i in x的所有遍歷結(jié)果i來(lái)組成一個(gè)新的列表

tolist()可以將數(shù)組作為(可能是嵌套的)列表返回。

7、畫(huà)圖

# 數(shù)據(jù)類(lèi)型的轉(zhuǎn)換
x = [i for i in result_man.index] # 轉(zhuǎn)換成list對(duì)象
y1 = result_man.tolist()
y2 = result_woman.tolist()
bar = (
    Bar(
        init_opts=opts.InitOpts(width='600px',height='400px') # 初始化配置項(xiàng)
       )
    .add_xaxis(x)
    .add_yaxis("男",y1,color = 'pink')
    .add_yaxis("女", # 圖示名稱
               y2, # 數(shù)據(jù)
               color = 'skyblue',
               gap='0%' # 柱子之間的間隔
              )
#     .set_colors([ "#00ff00", "#ffcc00"])  # 另一種顏色設(shè)置方法
    .set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", 
                                               subtitle="我是副標(biāo)題"
                                              )
                    )
)

python 氣泡圖,python,3d

從pyecharts.charts中調(diào)用Bar柱狀圖

add_xaxis() 添加x軸坐標(biāo)

add_yaxis() 添加y軸坐標(biāo)

還有更多的配置項(xiàng)可以查看官網(wǎng)文檔:

相關(guān)配置https://gallery.pyecharts.org/#/Bar/bar_base_dict_config

四、總結(jié)

在這里簡(jiǎn)單的介紹了氣泡圖、三維散點(diǎn)圖和多重柱形圖,總的來(lái)說(shuō),通過(guò)數(shù)據(jù)可視化可以很直觀的了解多數(shù)據(jù)集,增加了數(shù)據(jù)展示的可讀性和信息量,今天的的分享就到這里了,希望能夠給你帶來(lái)幫助。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-740388.html

到了這里,關(guān)于數(shù)據(jù)可視化——用python繪制氣泡圖、三維散點(diǎn)圖、多重柱形圖案例的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包