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

Python+Matplotlib繪制重疊柱狀圖

 更新時間:2023年06月06日 10:48:23   作者:SpikeKing  
重疊柱狀圖?(Overlapped?Bar)?是一種比較圖,可以將兩個柱狀圖疊加在一起,顯示兩個相關(guān)變量之間的差異,所以本文就來用Matplotlib繪制一個簡單的重疊柱狀圖吧

重疊柱狀圖 (Overlapped Bar) 是一種比較圖,可以將兩個柱狀圖疊加在一起,顯示兩個相關(guān)變量之間的差異。這種圖表適合用于展示實際值和期望值之間的對比,例如實際銷售額和目標銷售額,實際支出和預(yù)算支出等。優(yōu)點是可以直觀地看出兩個變量的貢獻度和占比,也可以節(jié)省空間,避免使用雙軸圖或并列圖。缺點是可能會造成視覺混淆,需要注意顏色和透明度的選擇,以及圖例和標簽的清晰顯示。

示例效果:

源碼如下:

設(shè)置plt的尺寸,即plt.figure(figsize=(10,6))。

循環(huán)繪制 bar,即plt.bar() 。

設(shè)置下標,即plt.xticks() 。

當水平下標太多,影響排列,則關(guān)閉下標,即plt.xticks([])。

df的排序邏輯,即df.sort_values(by=["ratio"], ascending=True)。

#!/usr/bin/env python
# -- coding: utf-8 --
"""
Copyright (c) 2022. All rights reserved.
Created by C. L. Wang on 2023/6/5
"""
import os.path
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from myutils.project_utils import read_excel_to_df
from root_dir import DATA_DIR
def overlapped_bar(df, show=False, width=0.75, alpha=.5, title='', xlabel='', ylabel='',
                   hide_xsticks=True, **plot_kwargs):
  """
  Like a stacked bar chart except bars on top of each other with transparency.
  :param df: data df
  :param show: show in ide
  :param width: bar width
  """
  plt.figure(figsize=(10, 6))  # 設(shè)置plt的尺寸
  xlabel = xlabel or df.index.name  # 標簽
  N = len(df)   # 類別數(shù)
  M = len(df.columns)   # 列數(shù)
  indices = np.arange(N)
  colors = ['steelblue', 'firebrick', 'darksage', 'goldenrod', 'gray'] * int(M / 5. + 1)  # 顏色
  for i, label, color in zip(range(M), df.columns, colors):
    kwargs = plot_kwargs
    kwargs.update({'color': color, 'label': label})
    plt.bar(indices, df[label], width=width, alpha=alpha if i else 1, **kwargs)
    plt.xticks(indices + .5 * width, ['{}'.format(idx) for idx in df.index.values])
  plt.legend()
  plt.title(title)
  plt.xlabel(xlabel)
  plt.ylabel(ylabel)
  if hide_xsticks:  # 如果水平坐標太多,隱藏水平坐標
    plt.xticks([])
  if show:
    plt.show()
  return plt.gcf()
def draw_bars():
  df = read_excel_to_df(os.path.join(DATA_DIR, "msa_all_counts.xlsx"))
  df["ratio"] = df["all_sum"] / df["sum"]
  df = df.sort_values(by=["ratio"], ascending=True)  # 從小到大排序
  df_sum = df["sum"] / df["sum"]
  df_all_sum = df["all_sum"] / df["sum"]
  avg = round(np.average(df_all_sum), 4)
  std = round(float(np.std(df_all_sum)), 4)
  print(f"[Info] improve ratio: {avg}±{std}")   # 獲取比例
  low = df_sum   # 低區(qū)數(shù)值
  high = df_all_sum  # 高區(qū)數(shù)值
  df = pd.DataFrame(np.matrix([high, low]).T, columns=['Ours', 'AF2'])
  overlapped_bar(df, xlabel="target", ylabel="times", show=True)
if __name__ == '__main__':
  draw_bars()

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

相關(guān)文章

  • 查看django執(zhí)行的sql語句及消耗時間的兩種方法

    查看django執(zhí)行的sql語句及消耗時間的兩種方法

    今天小編就為大家分享一篇查看django執(zhí)行的sql語句及消耗時間的兩種方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • python定時器(Timer)用法簡單實例

    python定時器(Timer)用法簡單實例

    這篇文章主要介紹了python定時器(Timer)用法,以一個簡單實例形式分析了定時器(Timer)實現(xiàn)延遲調(diào)用的技巧,需要的朋友可以參考下
    2015-06-06
  • 理解Django 中Call Stack機制的小Demo

    理解Django 中Call Stack機制的小Demo

    這篇文章主要介紹了理解Django 中Call Stack 機制的小Demo,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2020-09-09
  • Tensorflow卷積神經(jīng)網(wǎng)絡(luò)實例

    Tensorflow卷積神經(jīng)網(wǎng)絡(luò)實例

    這篇文章主要為大家詳細介紹了Tensorflow卷積神經(jīng)網(wǎng)絡(luò)實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Jupyter notebook之如何快速打開ipynb文件

    Jupyter notebook之如何快速打開ipynb文件

    這篇文章主要介紹了Jupyter notebook之如何快速打開ipynb文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python使用pygame實現(xiàn)笑臉乒乓球彈珠球游戲

    python使用pygame實現(xiàn)笑臉乒乓球彈珠球游戲

    這篇文章主要為大家詳細介紹了python使用pygame實現(xiàn)笑臉乒乓球彈珠球游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Python run()函數(shù)和start()函數(shù)的比較和差別介紹

    Python run()函數(shù)和start()函數(shù)的比較和差別介紹

    這篇文章主要介紹了Python run()函數(shù)和start()函數(shù)的比較和差別介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • python中xrange和range的區(qū)別

    python中xrange和range的區(qū)別

    這篇文章主要介紹了python中xrange和range的區(qū)別,需要的朋友可以參考下
    2014-05-05
  • windows下ipython的安裝與使用詳解

    windows下ipython的安裝與使用詳解

    大家都知道ipython是一個python的交互式shell,比默認的python shell好用得多,IPython有許多種安裝方式,這主要和使用什么操作系統(tǒng)有關(guān)。本文給大家介紹的是在windows下ipython的安裝與使用,有需要的朋友們可以參考學(xué)習。
    2016-10-10
  • 使用 Visual Studio Code(VSCode)搭建簡單的Python+Django開發(fā)環(huán)境的方法步驟

    使用 Visual Studio Code(VSCode)搭建簡單的Python+Djan

    這篇文章主要介紹了使用 Visual Studio Code(VSCode)搭建簡單的Python+Django開發(fā)環(huán)境的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12

最新評論

双辽市| 馆陶县| 天津市| 印江| 石嘴山市| 进贤县| 华容县| 滦平县| 区。| 内江市| 泾川县| 霍林郭勒市| 澎湖县| 榕江县| 陆丰市| 蕲春县| 哈尔滨市| 澄江县| 阿鲁科尔沁旗| 邵武市| 石楼县| 卓尼县| 阿鲁科尔沁旗| 定日县| 宜城市| 九江县| 金塔县| 桐柏县| 松阳县| 股票| 色达县| 珠海市| 樟树市| 明星| 平遥县| 鹤庆县| 冕宁县| 平果县| 仪征市| 察哈| 乡宁县|