欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python+Matplotlib繪制小提琴圖的示例代碼

 更新時(shí)間:2023年06月07日 08:30:23   作者:SpikeKing  
小提琴圖 (Violin Plot) 類(lèi)似紡錘,是一種用來(lái)顯示數(shù)據(jù)分布和概率密度的圖形,本文為大家介紹了Matplotlib繪制小提琴圖的函數(shù)源碼,需要的可以參考一下

小提琴圖 (Violin Plot) 類(lèi)似紡錘,小提琴圖是一種用來(lái)顯示數(shù)據(jù)分布和概率密度的圖形,結(jié)合了箱線(xiàn)圖和核密度圖的特點(diǎn)。小提琴圖的中間部分是一個(gè)箱線(xiàn)圖,顯示了數(shù)據(jù)的中位數(shù)、四分位數(shù)和異常值。小提琴圖的兩側(cè)是一個(gè)核密度圖,顯示了數(shù)據(jù)的分布形狀。小提琴圖可以用來(lái)比較不同類(lèi)別或分組的數(shù)據(jù),展示數(shù)據(jù)的差異和相似性。

示例如下:

源碼如下:

#!/usr/bin/env python
# -- coding: utf-8 --
"""
Copyright (c) 2022. All rights reserved.
Created by C. L. Wang on 2023/6/6
"""
import os

import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns

from myutils.project_utils import read_excel_to_df
from root_dir import DATA_DIR


def draw_violin_plot(
  df, score_col_name, label_col_name,
  x_label="", y_label="", title="",
  is_show=False, save_name=""):
  """
  繪制小提琴圖
  :param df: 數(shù)據(jù)格式,至少包括兩列,即數(shù)據(jù)值列score,標(biāo)簽列l(wèi)abel,相同類(lèi)別的標(biāo)簽相同
  :param score_col_name: 數(shù)值列名稱(chēng)
  :param label_col_name: 標(biāo)簽列名稱(chēng)
  :param x_label: 顯示的x標(biāo)簽
  :param y_label: 顯示的y標(biāo)簽
  :param title: 顯示的圖名稱(chēng)
  :param is_show:  是否IDE顯示
  :param save_name: 是否存儲(chǔ)文件,tight格式
  :return:
  """
  plt.figure(figsize=(16, 10), dpi=80)
  sns.violinplot(x=label_col_name, y=score_col_name, data=df, inner='quartile')

  plt.xlabel(xlabel=x_label)
  plt.ylabel(ylabel=y_label)

  if title:
    plt.title(title, fontsize=12)
  if save_name:
    # transparent=True
    plt.savefig(save_name, bbox_inches='tight', format='png')
  if is_show:
    plt.show()

def main():
  df = read_excel_to_df(os.path.join(DATA_DIR, "ourbest_20230601_tmscore_56.xls"))
  # df = read_excel_to_df(os.path.join(DATA_DIR, "ourbest_20230605_dockq_9_final.xls"))
  # df.info()

  # 加工數(shù)據(jù)格式,滿(mǎn)足數(shù)值和標(biāo)簽的格式
  score1 = df["m0-score"]
  score2 = df["m1-score"]
  score3 = df["cur-score"]
  label_col = ["SOTA" for _ in range(df["m0-score"].size)] + \
              ["Baseline" for _ in range(df["m1-score"].size)] + \
              ["Our Best" for _ in range(df["cur-score"].size)]
  score_list = pd.concat([score1, score2, score3])
  score_name = "DockQ"
  data = {score_name: score_list, "label": label_col}
  new_df = pd.DataFrame(data)
  # df.info()
  draw_violin_plot(new_df, score_col_name=score_name, label_col_name="label",
                   x_label="", y_label=score_name,
                   is_show=True, save_name="xxx.png")


if __name__ == '__main__':
  main()

到此這篇關(guān)于Python+Matplotlib繪制小提琴圖的示例代碼的文章就介紹到這了,更多相關(guān)Python Matplotlib繪制小提琴圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS淺析

    Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS淺析

    這篇文章主要給大家介紹了關(guān)于Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧
    2018-05-05
  • Python3獲取拉勾網(wǎng)招聘信息的方法實(shí)例

    Python3獲取拉勾網(wǎng)招聘信息的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于Python3獲取拉勾網(wǎng)招聘信息的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python3具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • python使用正則表達(dá)式匹配反斜杠\遇到的問(wèn)題

    python使用正則表達(dá)式匹配反斜杠\遇到的問(wèn)題

    在學(xué)習(xí)Python正則式的過(guò)程中,有一個(gè)問(wèn)題一直困擾我,如何去匹配一個(gè)反斜杠(即“\”),下面這篇文章主要給大家介紹了關(guān)于python使用正則表達(dá)式匹配反斜杠\的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • 使用Python實(shí)現(xiàn)PDF文本的自動(dòng)替換或修改功能

    使用Python實(shí)現(xiàn)PDF文本的自動(dòng)替換或修改功能

    在處理PDF文檔時(shí),我們有時(shí)會(huì)遇到需要更新文檔中文字內(nèi)容的情況,手動(dòng)打開(kāi) PDF 文件,逐一查找并修改文字內(nèi)容是一項(xiàng)繁瑣且容易出錯(cuò)的工作,這篇文章將介紹如何使用Python實(shí)現(xiàn)PDF文本的自動(dòng)替換,需要的朋友可以參考下
    2025-02-02
  • python中requests庫(kù)+xpath+lxml簡(jiǎn)單使用

    python中requests庫(kù)+xpath+lxml簡(jiǎn)單使用

    這篇文章主要介紹了python中requests庫(kù)+xpath+lxml簡(jiǎn)單使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Python壓縮包處理模塊zipfile和py7zr操作代碼

    Python壓縮包處理模塊zipfile和py7zr操作代碼

    目前對(duì)文件的壓縮和解壓縮比較常用的格式就是zip格式和7z格式,這篇文章主要介紹了Python壓縮包處理模塊zipfile和py7zr,需要的朋友可以參考下
    2022-06-06
  • python如何判斷IP地址合法性

    python如何判斷IP地址合法性

    這篇文章主要為大家詳細(xì)介紹了python如何判斷IP地址合法性,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • python正則表達(dá)式re.sub各個(gè)參數(shù)的超詳細(xì)講解

    python正則表達(dá)式re.sub各個(gè)參數(shù)的超詳細(xì)講解

    Python 的 re 模塊提供了re.sub用于替換字符串中的匹配項(xiàng),下面這篇文章主要給大家介紹了關(guān)于python正則表達(dá)式re.sub各個(gè)參數(shù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Python棧的實(shí)現(xiàn)方法示例【列表、單鏈表】

    Python棧的實(shí)現(xiàn)方法示例【列表、單鏈表】

    這篇文章主要介紹了Python棧的實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Python基于列表、單鏈表定義棧的相關(guān)操作技巧,需要的朋友可以參考下
    2020-02-02
  • Windows系統(tǒng)下安裝Python的SSH模塊教程

    Windows系統(tǒng)下安裝Python的SSH模塊教程

    這篇文章主要介紹了Windows系統(tǒng)下安裝Python的SSH模塊教程,本文涵蓋了pycrypto、ecdsa、paramiko、OpenSSH、SSH等模塊的安裝,需要的朋友可以參考下
    2015-02-02

最新評(píng)論