国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python數(shù)據(jù)可視化:類別比較圖表可視化

jf_Vqngj70R ? 來源:美男子玩編程 ? 作者:美男子玩編程 ? 2022-11-15 15:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在學(xué)習(xí)本篇博文之前請先看一看之前發(fā)過的關(guān)聯(lián)知識:

Python數(shù)據(jù)可視化:如何選擇合適的圖表可視化?

根據(jù)表達(dá)數(shù)據(jù)的側(cè)重內(nèi)容點(diǎn),將圖表類型分為6大類:類別比較圖表、數(shù)據(jù)關(guān)系圖表、數(shù)據(jù)分布圖表、時間序列圖表、局部整體圖表和地理空間圖表(有些圖表也可以歸類于兩種或多種圖表類型)。

本篇將介紹類別比較圖表的可視化方法。

類別比較型圖表的數(shù)據(jù)一般分為:數(shù)值型和類別型兩種數(shù)據(jù)類型,主要包括:柱形圖、條形圖、雷達(dá)圖、詞云圖等,通常用來比較數(shù)據(jù)的規(guī)模。如下所示:

e016fbd8-649a-11ed-8abf-dac502259ad0.png

1

柱狀圖

柱形圖是一種以長方形的長度為變量的統(tǒng)計(jì)圖表。柱形圖用于顯示一段時間內(nèi)的數(shù)據(jù)變化或顯示各項(xiàng)之間的比較情況。

在柱形圖中,類別型或序數(shù)型變量映射到橫軸的位置,數(shù)值型變量映射到矩形的高度。控制柱形圖的兩個重要參數(shù)是:“系列重疊"和“分類間距”。

  • “分類間距"控制同一數(shù)據(jù)系列的柱形寬度;

  • “系列重疊"控制不同數(shù)據(jù)系列之間的距離。

下圖為常見的柱形圖類型:單數(shù)據(jù)系列柱形圖、多數(shù)據(jù)系列柱形圖、堆積柱形圖和百分比堆積柱形圖。

e05c82a2-649a-11ed-8abf-dac502259ad0.png

1.1、單數(shù)據(jù)系列柱形圖

通過一個示例了解單數(shù)據(jù)系列柱形圖的使用,實(shí)現(xiàn)代碼如下所示:

mydata = pd.DataFrame({'Cut': ["Fair", "Good", "Very Good", "Premium", "Ideal"],
                       'Price': [4300, 3800, 3950, 4700, 3500]})


Sort_data = mydata.sort_values(by='Price', ascending=False)


fig = plt.figure(figsize=(6, 7), dpi=70)
plt.subplots_adjust(left=0.1, right=0.9, top=0.9, bottom=0.1)
plt.grid(axis="y", c=(217/256, 217/256, 217/256))  # 設(shè)置網(wǎng)格線
# 將網(wǎng)格線置于底層
ax = plt.gca()  # 獲取邊框
ax.spines['top'].set_color('none')  # 設(shè)置上‘脊梁’為紅色
ax.spines['right'].set_color('none')  # 設(shè)置上‘脊梁’為無色
ax.spines['left'].set_color('none')  # 設(shè)置上‘脊梁’為無色


plt.bar(Sort_data['Cut'], Sort_data['Price'],
        width=0.6, align="center", label="Cut")


plt.ylim(0, 6000)  # 設(shè)定x軸范圍
plt.xlabel('Cut')
plt.ylabel('Price')
plt.show()

	

效果如下所示:

e081bb26-649a-11ed-8abf-dac502259ad0.png

1.2、多數(shù)據(jù)系列柱形圖

通過一個示例了解多數(shù)據(jù)系列柱形圖的使用,實(shí)現(xiàn)代碼如下所示:


	
x_label = np.array(df["Catergory"])
x = np.arange(len(x_label))
y1 = np.array(df["1996"])
y2 = np.array(df["1997"])


fig = plt.figure(figsize=(5, 5))
plt.subplots_adjust(left=0.1, right=0.9, top=0.9, bottom=0.1)  # 設(shè)置繪圖區(qū)域大小位置


plt.bar(x, y1, width=0.3, color='#00AFBB', label='1996', edgecolor='k',
        linewidth=0.25)  # 調(diào)整y1軸位置,顏色,label為圖例名稱,與下方legend結(jié)合使用
plt.bar(x+0.3, y2, width=0.3, color='#FC4E07', label='1997',
        edgecolor='k', linewidth=0.25)  # 調(diào)整y2軸位置,顏色,label為圖例名稱,與下方legend結(jié)合使用
plt.xticks(x+0.15, x_label, size=12)  # 設(shè)置x軸刻度,位置,大小


# 顯示圖例,loc圖例顯示位置(可以用坐標(biāo)方法顯示),ncol圖例顯示幾列,默認(rèn)為1列,frameon設(shè)置圖形邊框
plt.legend(loc=(1, 0.5), ncol=1, frameon=False)


plt.yticks(size=12)  # 設(shè)置y軸刻度,位置,大小
plt.grid(axis="y", c=(217/256, 217/256, 217/256))  # 設(shè)置網(wǎng)格線
# 將y軸網(wǎng)格線置于底層
# plt.xlabel("Quarter",labelpad=10,size=18,)                          #設(shè)置x軸標(biāo)簽,labelpad設(shè)置標(biāo)簽距離x軸的位置
# plt.ylabel("Amount",labelpad=10,size=18,)                                   #設(shè)置y軸標(biāo)簽,labelpad設(shè)置標(biāo)簽距離y軸的位置




ax = plt.gca()  
ax.spines['top'].set_color('none')  # 設(shè)置上‘脊梁’為無色
ax.spines['right'].set_color('none')  # 設(shè)置右‘脊梁’為無色
ax.spines['left'].set_color('none')  # 設(shè)置左‘脊梁’為無色


plt.show()

	

效果如下所示:

e09a4de4-649a-11ed-8abf-dac502259ad0.png

1.3、堆積柱形圖

通過一個示例了解堆積柱形圖的使用,實(shí)現(xiàn)代碼如下所示:


		
# -*- coding: utf-8 -*-
# %%
import pandas as pd
import numpy as np
from plotnine import *




mydata = pd.DataFrame(dict(Name=['A', 'B', 'C', 'D', 'E'],
                           Scale=[35, 30, 20, 10, 5],
                           ARPU=[56, 37, 63, 57, 59]))


# 構(gòu)造矩形X軸的起點(diǎn)(最小點(diǎn))
mydata['xmin'] = 0
for i in range(1, 5):
    mydata['xmin'][i] = np.sum(mydata['Scale'][0:i])


# 構(gòu)造矩形X軸的終點(diǎn)(最大點(diǎn))
mydata['xmax'] = 0
for i in range(0, 5):
    mydata['xmax'][i] = np.sum(mydata['Scale'][0:i+1])


mydata['label'] = 0
for i in range(0, 5):
    mydata['label'][i] = np.sum(mydata['Scale'][0:i+1])-mydata['Scale'][i]/2


base_plot = (ggplot(mydata) +
             geom_rect(aes(xmin='xmin', xmax='xmax', ymin=0, ymax='ARPU', fill='Name'), colour="black", size=0.25) +
             geom_text(aes(x='label', y='ARPU+3', label='ARPU'), size=14, color="black") +
             geom_text(aes(x='label', y=-4, label='Name'), size=14, color="black") +
             scale_fill_hue(s=0.90, l=0.65, h=0.0417, color_space='husl') +
             ylab("ARPU") +
             xlab("scale") +
             ylim(-5, 80) +
             theme(  # panel_background=element_rect(fill="white"),
    #panel_grid_major = element_line(colour = "grey",size=.25,linetype ="dotted" ),
    #panel_grid_minor = element_line(colour = "grey",size=.25,linetype ="dotted" ),
    text=element_text(size=15),
    legend_position="none",
    aspect_ratio=1.15,
    figure_size=(5, 5),
    dpi=100
))
print(base_plot)

2

條形圖

條形圖與柱形圖類似,幾乎可以表達(dá)相同多的數(shù)據(jù)信息。

在條形圖中,類別型或序數(shù)型變量映射到縱軸的位置,數(shù)值型變量映射到矩形的寬度。條形圖的柱形變?yōu)闄M向,從而導(dǎo)致與柱形圖相比,條形圖更加強(qiáng)調(diào)項(xiàng)目之間的大小對比。尤其在項(xiàng)目名稱較長以及數(shù)量較多時,采用條形圖可視化數(shù)據(jù)會更加美觀、清晰,如下圖所示:

e139e822-649a-11ed-8abf-dac502259ad0.png

2.1、單數(shù)據(jù)系列條形圖

通過一個示例了解單數(shù)據(jù)系列條形圖的使用,實(shí)現(xiàn)代碼如下所示:


		
df = pd.read_csv('Stackedbar_Data.csv')


df = df.sort_values(by='Pensions', ascending=True)


df['Country'] = pd.Categorical(df['Country'], categories=df['Country'], ordered=True)
df


# %%
base_plot = (ggplot(df, aes('Country', 'Pensions')) +
             # "#00AFBB"
             geom_bar(stat="identity", color="black", width=0.6, fill="#FC4E07", size=0.25) +

實(shí)現(xiàn)效果如下所示:

e1547b56-649a-11ed-8abf-dac502259ad0.png

2.2、多數(shù)據(jù)系列條形圖

通過一個示例了解多數(shù)據(jù)系列條形圖的使用,實(shí)現(xiàn)代碼如下所示:


			
df = pd.read_csv('Stackedbar_Data.csv')

效果如下所示:

e17e22da-649a-11ed-8abf-dac502259ad0.png

2.3、堆積條形圖

通過一個示例了解堆積條形圖的使用,實(shí)現(xiàn)代碼如下所示:

df = pd.read_csv('Stackedbar_Data.csv')
Sum_df = df.iloc[nonedisplay: none;'>

e1986816-649a-11ed-8abf-dac502259ad0.png

2.4、百分比堆積條形圖

通過一個示例了解百分比堆積條形圖的使用,實(shí)現(xiàn)代碼如下所示:

df = pd.read_csv('Stackedbar_Data.csv')

							

效果如下所示:

e1faa5bc-649a-11ed-8abf-dac502259ad0.png

4

詞云圖

詞云圖通過使每個字的大小與其出現(xiàn)頻率成正比,顯示不同單詞在給定文本中的出現(xiàn)頻率,這會過濾掉大量的文本信息,使瀏覽者只要一眼掃過文本就可以領(lǐng)略文本的主旨。

詞云圖會將所有的字詞排在一起,形成云狀圖案,也可以任何格式排列:水平線、垂直列或其他形狀,也可用于顯示獲分配元數(shù)據(jù)的單詞。如下圖所示:

e33cfb5a-649a-11ed-8abf-dac502259ad0.png每個圓圈表示一個數(shù)值刻度,而徑向分隔線(從中心延伸出來的線)則用于區(qū)分不同類別或間隔(如果是直方圖)。刻度上較低的數(shù)值通常由中心點(diǎn)開始,然后數(shù)值會隨著每個圓形往外增加,但也可以把任何外圓設(shè)為零值,這樣里面的內(nèi)圓就可用來顯示負(fù)值。條形通常從中心點(diǎn)開始向外延伸,但也可以以別處為起點(diǎn),顯示數(shù)值范圍(如跨度圖)。

此外,條形也可以如堆疊式條形圖般堆疊起來,如下圖所示:

e3d8bd60-649a-11ed-8abf-dac502259ad0.png

8

熱力圖

熱力圖是一種通過對色塊著色來顯示數(shù)據(jù)的統(tǒng)計(jì)圖表,繪圖時需指定顏色映射的規(guī)則。例如,較大的值由較深的顏色表示,較小的值由較淺的顏色表示;較大的值由偏暖的顏色表示,較小的值由較冷的顏色表示等。

通過一個示例了解熱力圖的使用,實(shí)現(xiàn)代碼如下所示:

import numpy as np
import pandas as pd
from plotnine import *
from plotnine.data import mtcars


mat_corr = np.round(mtcars.corr(), 1).reset_index()
mydata = pd.melt(mat_corr, id_vars='index', var_name='var', value_name='value')
mydata


# %%
base_plot = (ggplot(mydata, aes(x='index', y='var', fill='value', label='value')) +
             geom_tile(colour="black") +
             geom_text(size=8, colour="white") +
             scale_fill_cmap(name='RdYlBu_r') +
             coord_equal() +
             theme(dpi=100, figure_size=(4, 4)))
print(base_plot)


# %%
mydata['AbsValue'] = np.abs(mydata.value)


base_plot = (ggplot(mydata, aes(x='index', y='var', fill='value', size='AbsValue')) +
             geom_point(shape='o', colour="black") +
             # geom_text(size=8,colour="white")+
             scale_size_area(max_size=11, guide=False) +
             scale_fill_cmap(name='RdYlBu_r') +
             coord_equal() +
             theme(dpi=100, figure_size=(4, 4)))
print(base_plot)


# %%
base_plot = (ggplot(mydata, aes(x='index', y='var', fill='value', size='AbsValue')) +
             geom_point(shape='s', colour="black") +
             # geom_text(size=8,colour="white")+
             scale_size_area(max_size=10, guide=False) +
             scale_fill_cmap(name='RdYlBu_r') +
             coord_equal() +
             theme(dpi=100, figure_size=(4, 4)))
print(base_plot)

							

效果如下所示:

e3f754d2-649a-11ed-8abf-dac502259ad0.png

e41ddce2-649a-11ed-8abf-dac502259ad0.png

e4472886-649a-11ed-8abf-dac502259ad0.png


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 可視化
    +關(guān)注

    關(guān)注

    1

    文章

    1353

    瀏覽量

    22791
  • 圖表
    +關(guān)注

    關(guān)注

    0

    文章

    33

    瀏覽量

    9267
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4876

    瀏覽量

    90022

原文標(biāo)題:Python數(shù)據(jù)可視化:類別比較圖表可視化

文章出處:【微信號:美男子玩編程,微信公眾號:美男子玩編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    工業(yè)物聯(lián)網(wǎng)可視化平臺是什么?有什么功能?

    工業(yè)物聯(lián)網(wǎng)可視化平臺是基于物聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等技術(shù),將工業(yè)生產(chǎn)中的設(shè)備、系統(tǒng)、流程等數(shù)據(jù)以圖形方式呈現(xiàn),實(shí)現(xiàn)實(shí)時監(jiān)控、智能分析與交互式管理的數(shù)字化工具。 其核心功能涵蓋
    的頭像 發(fā)表于 11-17 17:49 ?1266次閱讀

    基于 HT 技術(shù)的園區(qū)元宇宙可視化管理平臺

    設(shè)計(jì)、核心功能實(shí)現(xiàn)及技術(shù)亮點(diǎn),展現(xiàn)如何通過HT技術(shù)實(shí)現(xiàn)園區(qū)“安環(huán)能”一體管控。 HT 技術(shù)作為平臺開發(fā)的核心支撐,其基于 HTML5 標(biāo)準(zhǔn)的特性,為園區(qū)可視化管理提供了輕量、高效、跨終端的解決方案。平臺整體采用“3D場景渲染+2D 數(shù)
    的頭像 發(fā)表于 11-07 14:54 ?403次閱讀
    基于 HT 技術(shù)的園區(qū)元宇宙<b class='flag-5'>可視化</b>管理平臺

    工業(yè)可視化平臺是什么

    工業(yè)可視化平臺是一種基于信息技術(shù)和可視化技術(shù),將工業(yè)生產(chǎn)過程中的數(shù)據(jù)、信息、流程等以直觀、動態(tài)的圖形方式呈現(xiàn),并實(shí)現(xiàn)交互式管理與分析的數(shù)字化工具。它通過整合工業(yè)物聯(lián)網(wǎng)(IIoT)、大
    的頭像 發(fā)表于 10-24 18:00 ?1061次閱讀

    光伏電站可視化的實(shí)現(xiàn)

    實(shí)現(xiàn)光伏電站可視化,核心是在于通過直觀的視覺界面,解決傳統(tǒng)運(yùn)維中低效巡檢、數(shù)據(jù)孤島、被動響應(yīng)等痛點(diǎn),從而提升運(yùn)營效率并提供決策支持。這是一種有效的技術(shù)手段,通過數(shù)字孿生、三維建模、數(shù)據(jù)
    的頭像 發(fā)表于 10-21 17:29 ?1151次閱讀
    光伏電站<b class='flag-5'>可視化</b>的實(shí)現(xiàn)

    數(shù)字孿生可視化系統(tǒng)構(gòu)建行業(yè)數(shù)字智能管理生態(tài)!

    數(shù)字孿生可視化系統(tǒng)具備豐富的模型組件,包括二維平面組件及3D模型組件,可根據(jù)用戶需求進(jìn)行定制。數(shù)字孿生可視化系統(tǒng)在行業(yè)數(shù)字升級、數(shù)字管理中有著重要的意義,充分利用大
    的頭像 發(fā)表于 09-19 11:45 ?732次閱讀
    數(shù)字孿生<b class='flag-5'>可視化</b>系統(tǒng)構(gòu)建行業(yè)數(shù)字<b class='flag-5'>化</b>智能管理生態(tài)!

    如何使用協(xié)議分析儀進(jìn)行數(shù)據(jù)分析與可視化

    使用協(xié)議分析儀進(jìn)行數(shù)據(jù)分析與可視化,需結(jié)合數(shù)據(jù)捕獲、協(xié)議解碼、統(tǒng)計(jì)分析及可視化工具,將原始數(shù)據(jù)轉(zhuǎn)化為可解讀的
    發(fā)表于 07-16 14:16

    工業(yè)設(shè)備可視化管理系統(tǒng)是什么

    工業(yè)設(shè)備可視化管理系統(tǒng)是一種基于物聯(lián)網(wǎng)(IoT)、大數(shù)據(jù)、云計(jì)算、數(shù)字孿生等技術(shù),對工業(yè)設(shè)備的運(yùn)行狀態(tài)、性能參數(shù)、維護(hù)信息等進(jìn)行實(shí)時監(jiān)測、數(shù)據(jù)整合與可視化呈現(xiàn)的智能管理平臺。它通過將復(fù)
    的頭像 發(fā)表于 05-27 14:56 ?1121次閱讀
    工業(yè)設(shè)備<b class='flag-5'>可視化</b>管理系統(tǒng)是什么

    光伏電站可視化這種技術(shù)的難點(diǎn)有哪些?

    通過數(shù)字孿生、三維建模、數(shù)據(jù)融合等技術(shù),將光伏電站的物理環(huán)境、設(shè)備狀態(tài)、發(fā)電數(shù)據(jù)等信息以圖形、動態(tài)的形式呈現(xiàn),這便是光伏電站可視化,其核
    的頭像 發(fā)表于 05-15 10:56 ?625次閱讀

    結(jié)構(gòu)可視化:利用數(shù)據(jù)編輯器剖析數(shù)據(jù)內(nèi)在架構(gòu)?

    結(jié)構(gòu)可視化聚焦于展示數(shù)據(jù)的內(nèi)部結(jié)構(gòu)和各部分之間的關(guān)系,使企業(yè)能夠深入理解數(shù)據(jù)的組織方式和層次體系,從而更好地進(jìn)行數(shù)據(jù)管理和分析。通過結(jié)構(gòu)可視化
    的頭像 發(fā)表于 05-07 18:42 ?656次閱讀

    工業(yè)設(shè)備數(shù)據(jù)集中監(jiān)控可視化管理平臺是什么

    工業(yè)設(shè)備數(shù)據(jù)集中監(jiān)控可視化管理平臺是一種用于整合、監(jiān)控和可視化工業(yè)設(shè)備數(shù)據(jù)的綜合性系統(tǒng),旨在幫助企業(yè)實(shí)現(xiàn)設(shè)備數(shù)據(jù)的集中管理、實(shí)時監(jiān)控和
    的頭像 發(fā)表于 05-06 11:10 ?1059次閱讀

    VirtualLab Fusion應(yīng)用:3D系統(tǒng)可視化

    描述和F-Theta透鏡的應(yīng)用示例。 光學(xué)系統(tǒng)的3D-可視化 VirtualLab Fusion提供的工具可以實(shí)現(xiàn)光學(xué)系統(tǒng)的3D可視化,因此可以用于檢查元件的位置,以及快速了解系統(tǒng)內(nèi)部的光傳播情況
    發(fā)表于 04-30 08:47

    可視化組態(tài)物聯(lián)網(wǎng)平臺是什么

    可視化含義:組態(tài)是一種用于構(gòu)建復(fù)雜物聯(lián)網(wǎng)系統(tǒng)的工具,它提供了豐富的圖形組件和可視化元素,使得用戶可以通過簡單的拖拽操作來創(chuàng)建自定義的界面。可視化則強(qiáng)調(diào)將物聯(lián)網(wǎng)系統(tǒng)產(chǎn)生的大量
    的頭像 發(fā)表于 04-21 10:40 ?889次閱讀

    可視化組態(tài)數(shù)據(jù)管理平臺是什么

    可視化組態(tài)數(shù)據(jù)管理平臺是一種用于工業(yè)自動、物聯(lián)網(wǎng)、能源管理等領(lǐng)域的軟件平臺,它結(jié)合了可視化和組態(tài)技術(shù),幫助用戶實(shí)現(xiàn)數(shù)據(jù)的采集、管理、展示和
    的頭像 發(fā)表于 04-21 10:00 ?735次閱讀

    VirtualLab Fusion應(yīng)用:光學(xué)系統(tǒng)的3D可視化

    摘要 為了從根本上了解光學(xué)系統(tǒng)的特性,對其組件進(jìn)行可視化并顯示光的傳播情況大有幫助。為此,VirtualLab Fusion 提供了顯示光學(xué)系統(tǒng)三維可視化的工具。這些工具還可用于檢查元件和探測器
    發(fā)表于 04-02 08:42