亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用Python繪制精美雷達(dá)圖

 更新時(shí)間:2025年07月01日 09:11:25   作者:Code_Verse  
雷達(dá)圖(Radar Chart) 就像一位全能選手,以其獨(dú)特的環(huán)形布局,讓多維數(shù)據(jù)的對(duì)比變得直觀又美觀,下面我們就來(lái)看看如何使用Python繪制精美雷達(dá)圖吧

為什么選擇雷達(dá)圖

在科研和數(shù)據(jù)分析領(lǐng)域,當(dāng)我們需要同時(shí)展示多個(gè)維度的數(shù)據(jù)對(duì)比時(shí),傳統(tǒng)的柱狀圖或折線圖往往顯得力不從心。這時(shí)候,雷達(dá)圖(Radar Chart) 就像一位全能選手,以其獨(dú)特的環(huán)形布局,讓多維數(shù)據(jù)的對(duì)比變得直觀又美觀。

比如在材料科學(xué)中,我們可能需要同時(shí)對(duì)比不同合金的屈服強(qiáng)度、抗拉強(qiáng)度、延伸率等多個(gè)性能指標(biāo)。想象一下,當(dāng)四種不同的鐵基合金材料的七項(xiàng)關(guān)鍵屬性擺在你面前,如何一眼看出它們的優(yōu)勢(shì)和短板?雷達(dá)圖正是為解決這類問(wèn)題而生 —— 它用輻射狀的坐標(biāo)軸代表不同維度,用閉合區(qū)域的面積直觀反映綜合性能,讓數(shù)據(jù)對(duì)比瞬間 “立體化”!

代碼解析

下面我們通過(guò)一段完整的 Python 代碼,手把手教你繪制材料科學(xué)領(lǐng)域的雷達(dá)圖。這段代碼不僅能生成美觀的可視化結(jié)果,還隱藏著許多可以靈活定制的 “彩蛋” 哦~

import numpy as np
import matplotlib.pyplot as plt
# 設(shè)置隨機(jī)種子,確保結(jié)果可復(fù)現(xiàn)
np.random.seed(42)
# 定義材料屬性類別(這是可替換的第一處!)
categories = [
"屈服強(qiáng)度", "極限抗拉強(qiáng)度", "斷裂伸長(zhǎng)率",
"UTS×EF", "飽和磁感應(yīng)強(qiáng)度", "矯頑力", "電阻率"
]
N = len(categories)
# 生成四組材料數(shù)據(jù)(這是可替換的第二處?。?
data = {
"M-MCA": np.random.uniform(5, 10, N),
"Fe-49Co-2V": np.random.uniform(2, 8, N),
"Fe-78.5Ni": np.random.uniform(1, 6, N),
"Fe-4Si": np.random.uniform(1, 9, N)
}
# 計(jì)算雷達(dá)圖角度(閉合圓環(huán)的關(guān)鍵?。?
angles = np.linspace(0, 2 * np.pi, N, endpoint=False).tolist()
angles += angles[:1] # 閉合圓環(huán),讓最后一個(gè)點(diǎn)連接到第一個(gè)點(diǎn)
# 創(chuàng)建畫布
fig, ax = plt.subplots(figsize=(8, 8), subplot_kw=dict(polar=True))
# 設(shè)置坐標(biāo)軸標(biāo)簽(維度名稱)
plt.xticks(angles[:-1], categories, fontsize=12, fontweight='bold')
# 設(shè)置徑向刻度(數(shù)值范圍)
ax.set_rlabel_position(0)
plt.yticks([2, 4, 6, 8, 10], ["2", "4", "6", "8", "10"], color="grey", size=10)
plt.ylim(0, 10)
# 定義各材料的樣式(顏色、標(biāo)記、填充透明度)
styles = {
"M-MCA": {"color": "#00b386", "marker": "v", "alpha_fill": 0.25},
"Fe-49Co-2V": {"color": "dimgray", "marker": "o", "alpha_fill": 0.3},
"Fe-78.5Ni": {"color": "salmon", "marker": "^", "alpha_fill": 0.3},
"Fe-4Si": {"color": "gold", "marker": "s", "alpha_fill": 0.3},
}
# 繪制各材料的雷達(dá)圖
for label, values in data.items():
vals = values.tolist()
vals += vals[:1] # 閉合數(shù)據(jù)點(diǎn)
style = styles[label]
ax.plot(angles, vals, color=style["color"], linewidth=2,
marker=style["marker"], label=label)
ax.fill(angles, vals, color=style["color"], alpha=style["alpha_fill"]) # 填充區(qū)域
# 自定義網(wǎng)格樣式
ax.grid(color='grey', linestyle='--', linewidth=0.5)
# 添加圖例(位置可調(diào)整)
plt.legend(loc='upper right', bbox_to_anchor=(1.2, 1.1), fontsize=12)
# 添加標(biāo)題
plt.title("材料屬性雷達(dá)圖", fontsize=16, y=1.08)
plt.show()

代碼核心模塊拆解

1.數(shù)據(jù)準(zhǔn)備:定義維度與數(shù)值

categories 列表:這里定義了雷達(dá)圖的每個(gè)坐標(biāo)軸代表的屬性,比如 “屈服強(qiáng)度”“電阻率” 等。用戶替換點(diǎn):直接修改列表中的字符串,即可適配你的研究領(lǐng)域(比如換成 “市場(chǎng)份額”“用戶滿意度” 等)。

data 字典:鍵是材料名稱,值是對(duì)應(yīng)材料在各個(gè)維度上的數(shù)值。用戶替換點(diǎn):刪除隨機(jī)生成數(shù)據(jù),改為你的實(shí)際數(shù)據(jù)!比如:

data = {
"鋁合金": [8.5, 9.0, 7.2, 6.8, 4.5, 3.2, 5.1],
"鈦合金": [7.8, 8.2, 6.5, 7.0, 5.5, 4.0, 3.8],
# 更多材料數(shù)據(jù)...
}

注意:每個(gè)列表的長(zhǎng)度必須與 categories 的長(zhǎng)度一致哦~

2.坐標(biāo)系統(tǒng)構(gòu)建:讓數(shù)據(jù) “轉(zhuǎn)” 起來(lái)

angles變量是雷達(dá)圖的核心!通過(guò)np.linspace生成等角度間隔的坐標(biāo),最后用angles += angles[:1]閉合圓環(huán),這樣線條才能形成完整的多邊形。

polar=True參數(shù)是開(kāi)啟 “極坐標(biāo)” 模式的關(guān)鍵,它讓 matplotlib 把直線坐標(biāo)轉(zhuǎn)換為環(huán)形坐標(biāo),瞬間賦予數(shù)據(jù) “立體感”~

3.樣式定制:讓圖表顏值飆升

styles字典定義了每種材料的顏色、標(biāo)記符號(hào)和填充透明度。比如"#00b386"是清新的藍(lán)綠色,"marker": "v"表示三角形標(biāo)記。用戶可自定義點(diǎn):修改顏色值(支持 RGB、十六進(jìn)制或顏色名稱)、更換標(biāo)記符號(hào)("o"圓、"s"正方形等),甚至調(diào)整填充透明度讓圖表更通透~

網(wǎng)格線、圖例位置、標(biāo)題字體等細(xì)節(jié)都可以通過(guò)代碼微調(diào),比如bbox_to_anchor=(1.2, 1.1)讓圖例 “懸浮” 在圖表右側(cè),避免遮擋數(shù)據(jù)。

個(gè)性化改造指南

場(chǎng)景一:我的數(shù)據(jù)范圍不是 0-10,怎么辦?

修改plt.ylim(0, 10)中的數(shù)值即可!比如數(shù)據(jù)范圍是 0-100,改為plt.ylim(0, 100),同時(shí)調(diào)整plt.yticks的刻度值,讓顯示更清晰。

場(chǎng)景二:想換一套更炫酷的配色?

Matplotlib 支持上百種顏色名稱,也可以用十六進(jìn)制色碼。比如換成漸變色系:

styles = {
"材料A": {"color": "#ff6b6b", "marker": "o"}, # 珊瑚紅
"材料B": {"color": "#4ecdc4", "marker": "s"}, # 淺青色
"材料C": {"color": "#ffe66d", "marker": "^"}, # 明黃色
}

如果追求專業(yè)感,還可以使用科研論文常用的配色方案,比如藍(lán)、綠、橙三色搭配~

場(chǎng)景三:維度太多,標(biāo)簽擠在一起怎么辦?

當(dāng)categories數(shù)量超過(guò) 8 個(gè)時(shí),標(biāo)簽可能會(huì)重疊。解決方案:

  • 旋轉(zhuǎn)標(biāo)簽:plt.xticks(angles[:-1], categories, fontsize=10, rotation=45)
  • 減少維度數(shù)量,或用縮寫代替全稱(比如 “UTS” 代替 “Ultimate Tensile Strength”)
  • 增大畫布尺寸:fig, ax = plt.subplots(figsize=(10, 10), subplot_kw=dict(polar=True))

擴(kuò)展應(yīng)用:雷達(dá)圖不止于材料科學(xué)

雷達(dá)圖的適用場(chǎng)景遠(yuǎn)比你想象的更廣!只要是多維數(shù)據(jù)對(duì)比,它都能大顯身手:

市場(chǎng)分析:競(jìng)品多維指標(biāo)對(duì)比

  • 維度示例:價(jià)格競(jìng)爭(zhēng)力、品牌知名度、用戶口碑、功能豐富度、售后服務(wù)
  • 應(yīng)用:一眼看出自家產(chǎn)品與競(jìng)品的優(yōu)勢(shì)短板,為市場(chǎng)策略提供可視化依據(jù)。

個(gè)人能力評(píng)估:職業(yè)發(fā)展規(guī)劃

  • 維度示例:編程能力、溝通能力、項(xiàng)目管理、行業(yè)知識(shí)、創(chuàng)新思維
  • 應(yīng)用:用雷達(dá)圖繪制 “能力圖譜”,直觀發(fā)現(xiàn)技能短板,制定學(xué)習(xí)計(jì)劃~

農(nóng)業(yè)科研:作物多指標(biāo)對(duì)比

  • 維度示例:抗旱性、產(chǎn)量、抗病性、生長(zhǎng)周期、營(yíng)養(yǎng)價(jià)值
  • 應(yīng)用:幫助育種專家快速篩選優(yōu)質(zhì)品種,比表格數(shù)據(jù)更直觀!

總結(jié)

通過(guò)這篇文章,我們不僅學(xué)會(huì)了用 Python 繪制精美的材料屬性雷達(dá)圖,更深入理解了多維數(shù)據(jù)可視化的核心邏輯。雷達(dá)圖的魅力在于:

  • 直觀性:閉合區(qū)域面積直接反映綜合性能,無(wú)需計(jì)算即可對(duì)比
  • 全面性:同時(shí)展示 7-8 個(gè)維度毫無(wú)壓力,打破傳統(tǒng)圖表的維度限制
  • 美觀性:通過(guò)顏色、填充、標(biāo)記的組合,讓科研數(shù)據(jù)也能 “顏值在線”

現(xiàn)在,你只需替換categories和data中的內(nèi)容,就能將這段代碼應(yīng)用到自己的研究或工作中??烊ピ囋嚢伞?如果在使用中遇到問(wèn)題,歡迎在評(píng)論區(qū)交流,一起解鎖更多雷達(dá)圖的隱藏技巧!

到此這篇關(guān)于使用Python繪制精美雷達(dá)圖的文章就介紹到這了,更多相關(guān)Python雷達(dá)圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python模塊如何查看

    python模塊如何查看

    在本篇文章中小編給大家整理的是關(guān)于python的模塊位置的相關(guān)知識(shí)點(diǎn),需要的朋友們可以參考下。
    2020-06-06
  • Django原生sql也能使用Paginator分頁(yè)的示例代碼

    Django原生sql也能使用Paginator分頁(yè)的示例代碼

    這篇文章主要介紹了Django原生sql也能使用Paginator分頁(yè)的示例代碼,主要使用了count和__getslice__,有興趣的可以了解一下
    2017-11-11
  • drf序列化器serializer的具體使用

    drf序列化器serializer的具體使用

    本文主要介紹了drf序列化器serializer的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • 詳細(xì)介紹Python中的偏函數(shù)

    詳細(xì)介紹Python中的偏函數(shù)

    這篇文章主要介紹了Python中的偏函數(shù),示例代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04
  • 使用Python進(jìn)行SSH和文件傳輸實(shí)現(xiàn)方法實(shí)例

    使用Python進(jìn)行SSH和文件傳輸實(shí)現(xiàn)方法實(shí)例

    這篇文章主要為大家介紹了使用Python進(jìn)行SSH和文件傳輸實(shí)現(xiàn)方法實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • python繪制高斯曲線

    python繪制高斯曲線

    這篇文章主要為大家詳細(xì)介紹了python繪制高斯曲線,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • python定時(shí)關(guān)機(jī)小腳本

    python定時(shí)關(guān)機(jī)小腳本

    這篇文章主要為大家詳細(xì)介紹了python定時(shí)關(guān)機(jī)小腳本,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • 解決python3.x安裝numpy成功但import出錯(cuò)的問(wèn)題

    解決python3.x安裝numpy成功但import出錯(cuò)的問(wèn)題

    這篇文章主要介紹了解決python3.x安裝numpy成功但import出錯(cuò)的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 如何利用python處理原始音頻數(shù)據(jù)

    如何利用python處理原始音頻數(shù)據(jù)

    這篇文章主要介紹了如何利用python處理原始音頻數(shù)據(jù),文章以audioop的相關(guān)資料展開(kāi)內(nèi)容,audioop是python標(biāo)準(zhǔn)庫(kù)中用于處理原始音頻數(shù)據(jù)的模塊,封裝了一些便捷的編碼轉(zhuǎn)換函數(shù)。下文詳細(xì)內(nèi)容,需要的朋友可以參考以下
    2022-01-01
  • Opencv實(shí)現(xiàn)眼睛控制鼠標(biāo)的實(shí)踐

    Opencv實(shí)現(xiàn)眼睛控制鼠標(biāo)的實(shí)踐

    本文主要介紹了Opencv實(shí)現(xiàn)眼睛控制鼠標(biāo)的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02

最新評(píng)論