最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python繪制精美雷達圖

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

為什么選擇雷達圖

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

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

代碼解析

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

import numpy as np
import matplotlib.pyplot as plt
# 設(shè)置隨機種子,確保結(jié)果可復(fù)現(xiàn)
np.random.seed(42)
# 定義材料屬性類別(這是可替換的第一處?。?
categories = [
"屈服強度", "極限抗拉強度", "斷裂伸長率",
"UTS×EF", "飽和磁感應(yī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)
}
# 計算雷達圖角度(閉合圓環(huán)的關(guān)鍵?。?
angles = np.linspace(0, 2 * np.pi, N, endpoint=False).tolist()
angles += angles[:1] # 閉合圓環(huán),讓最后一個點連接到第一個點
# 創(chuàng)建畫布
fig, ax = plt.subplots(figsize=(8, 8), subplot_kw=dict(polar=True))
# 設(shè)置坐標軸標簽(維度名稱)
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)
# 定義各材料的樣式(顏色、標記、填充透明度)
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},
}
# 繪制各材料的雷達圖
for label, values in data.items():
vals = values.tolist()
vals += vals[:1] # 閉合數(shù)據(jù)點
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)
# 添加標題
plt.title("材料屬性雷達圖", fontsize=16, y=1.08)
plt.show()

代碼核心模塊拆解

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

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

data 字典:鍵是材料名稱,值是對應(yīng)材料在各個維度上的數(shù)值。用戶替換點:刪除隨機生成數(shù)據(jù),改為你的實際數(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ù)...
}

注意:每個列表的長度必須與 categories 的長度一致哦~

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

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

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

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

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

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

個性化改造指南

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

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

場景二:想換一套更炫酷的配色?

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

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

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

場景三:維度太多,標簽擠在一起怎么辦?

當categories數(shù)量超過 8 個時,標簽可能會重疊。解決方案:

  • 旋轉(zhuǎn)標簽: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))

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

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

市場分析:競品多維指標對比

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

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

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

農(nóng)業(yè)科研:作物多指標對比

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

總結(jié)

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

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

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

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

相關(guān)文章

  • Python圖片處理之圖片采樣處理詳解

    Python圖片處理之圖片采樣處理詳解

    這篇文章將詳細為大家講解圖像采樣處理,包括原理知識、代碼實現(xiàn)和局部馬賽克處理。文中的示例代碼講解詳細,感興趣的可以跟隨小編一起動手試一試
    2022-02-02
  • Python徹底刪除文件夾及其子文件方式

    Python徹底刪除文件夾及其子文件方式

    今天小編就為大家分享一篇Python徹底刪除文件夾及其子文件方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • selenium python 實現(xiàn)基本自動化測試的示例代碼

    selenium python 實現(xiàn)基本自動化測試的示例代碼

    這篇文章主要介紹了selenium python 實現(xiàn)基本自動化測試的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • python解析yaml文件過程詳解

    python解析yaml文件過程詳解

    這篇文章主要介紹了python解析yaml文件過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下
    2019-08-08
  • 使用IronPython把Python腳本集成到.NET程序中的教程

    使用IronPython把Python腳本集成到.NET程序中的教程

    這篇文章主要介紹了使用IronPython把Python腳本集成到.NET程序中的教程,現(xiàn)在剛剛被微軟開源的.NET重新成為業(yè)界熱點、本文介紹了使Python和.NET交互的IronPython,需要的朋友可以參考下
    2015-03-03
  • Python編程使用PyQt5制作動態(tài)鐘表示例

    Python編程使用PyQt5制作動態(tài)鐘表示例

    本篇文章將用 Python 同時繪制兩種類型的表;一個是上面提到的含有時、分、秒針的鐘表(為了方便,下面統(tǒng)稱為老式鐘表),一個是電子表,最終運行效果文中如下呈現(xiàn)
    2021-10-10
  • Python實戰(zhàn)之實現(xiàn)簡易的學(xué)生選課系統(tǒng)

    Python實戰(zhàn)之實現(xiàn)簡易的學(xué)生選課系統(tǒng)

    又到了小伙伴們最喜歡的python實戰(zhàn)環(huán)節(jié),文中對實現(xiàn)簡易的學(xué)生選課系統(tǒng)作了非常詳細的代碼示例,對正在學(xué)習python的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • Python?threading中l(wèi)ock的使用詳解

    Python?threading中l(wèi)ock的使用詳解

    Lock類是threading中用于鎖定當前線程的鎖定類,本文給大家介紹了Python?threading中l(wèi)ock的使用,需要的朋友可以參考下
    2022-11-11
  • python函數(shù)的兩種嵌套方法小結(jié)

    python函數(shù)的兩種嵌套方法小結(jié)

    這篇文章主要介紹了python函數(shù)的兩種嵌套方法小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2022-01-01
  • urllib和BeautifulSoup爬取維基百科的詞條簡單實例

    urllib和BeautifulSoup爬取維基百科的詞條簡單實例

    這篇文章主要介紹了urllib和BeautifulSoup爬取維基百科的詞條簡單實例,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01

最新評論

施甸县| 图片| 莎车县| 政和县| 铅山县| 茶陵县| 沧州市| 平遥县| 繁峙县| 葫芦岛市| 盱眙县| 内黄县| 绍兴县| 沧州市| 嘉黎县| 镇坪县| 阿尔山市| 鄯善县| 民勤县| 宾川县| 冷水江市| 百色市| 兴仁县| 广德县| 清涧县| 禄丰县| 洪洞县| 谢通门县| 平遥县| 丹江口市| 南康市| 永胜县| 育儿| 扶沟县| 佳木斯市| 陇南市| 仙桃市| 南康市| 京山县| 土默特右旗| 广州市|