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

Python繪制組合圖的示例

 更新時間:2020年09月18日 08:23:43   作者:爽歪歪666  
這篇文章主要介紹了Python如何繪制組合圖,幫助大家更好的利用python繪制圖像,進(jìn)行數(shù)據(jù)可視化分析,感興趣的朋友可以了解下

繪制組合圖:

組合圖就是將多個形狀,組合到⼀個圖形中,主要作⽤是節(jié)約作圖的空間,節(jié)省讀者的時間,從⽽提⾼
信息傳達(dá)的效率。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
def plot_combination1():
 sale = pd.read_excel('./data/每月目標(biāo)銷售額和實(shí)際銷售額.xlsx',header=0,index_col=0)
 # 設(shè)置正常顯示中文標(biāo)簽
 plt.rcParams['font.sans-serif'] = ['SimHei']
 # 正常顯示負(fù)號
 plt.rcParams['axes.unicode_minus'] = False
 # 設(shè)置字體大小
 plt.rcParams.update({'font.size':16})

 # 提取數(shù)據(jù)
 x = np.arange(12)+1
 y1 = sale.目標(biāo)銷售額
 y2 = sale.實(shí)際銷售額

 # 計(jì)算目標(biāo)完成率
 y3 = y2/y1 # float
 # print(y3) 1月 1.120000 2月 0.887500 3月 1.118182 4月 1.150000
 """
 第一種方式:是⽤兩個不同顏⾊的柱⼦,分別展示每個⽉的實(shí)際銷售額和⽬標(biāo)銷售額,
 ⽤折線圖展示⽬標(biāo)完成率。
 左邊的主坐標(biāo)軸是柱形圖對應(yīng)的數(shù)據(jù),右邊的次坐標(biāo)軸是折線圖對應(yīng)的
 數(shù)據(jù),下邊的橫坐標(biāo)軸表示細(xì)分的維度,⽐如時間、地區(qū)、渠道等。
 """
 plt.figure(figsize=(16,8))
 plt.subplot(111)

 # 柱形寬度
 bar_width = 0.35

 # 在主坐標(biāo)軸繪制柱形圖
 plt.bar(x,y1,bar_width,label='目標(biāo)銷售額')
 plt.bar(x+bar_width,y2,bar_width,label='實(shí)際銷售額')

 # 設(shè)置坐標(biāo)軸的取值范圍,避免柱子過高而與圖例重疊
 plt.ylim(0,max(y1.max(),y2.max())*1.2)

 # 設(shè)置圖例
 plt.legend(loc='upper left')

 # 設(shè)置橫坐標(biāo)的標(biāo)簽
 plt.xticks(x)
 # plt.set_xticklabels(sale.index)

 # 在次坐標(biāo)軸上繪制折線圖
 plt.twinx()
 # ls:線的類型,lw:寬度,o:在頂點(diǎn)處實(shí)心圈
 plt.plot(x,y3,ls='-',lw=2,color='r',marker='o',label='目標(biāo)完成率')

 # 設(shè)置次坐標(biāo)軸的取值范圍,避免折線圖波動過大
 plt.ylim(0,1.35)

 # 設(shè)置圖例
 plt.legend()

 # 定義顯示百分號的函數(shù)
 def to_percent(number, position=0):
 return '%.f' % (number * 100) + '%'

 # 次坐標(biāo)軸的標(biāo)簽顯示百分號 FuncFormatter:自定義格式函數(shù)包
 from matplotlib.ticker import FuncFormatter
 plt.gca().yaxis.set_major_formatter(FuncFormatter(to_percent))

 # 設(shè)置標(biāo)題
 plt.title('\n每月銷售目標(biāo)達(dá)成情況\n',fontsize=36,loc='center',color = 'k')
 plt.show()



def plot_combination2():
 """
 第二種方式:是⽤兩條不同顏⾊的折線,分別展示每個⽉的實(shí)際銷售額和⽬標(biāo)銷售額,再⽤兩種不同顏
 ⾊的柱形圖展示實(shí)際與⽬標(biāo)的差額,綠⾊代表完成⽬標(biāo),紅⾊代表沒有完成⽬標(biāo),
 這種組合圖不需要⽤到兩個縱坐標(biāo)軸,
 """
 import pandas as pd
 import numpy as np
 import matplotlib.pyplot as plt

 # 設(shè)置正常顯示中⽂標(biāo)簽
 plt.rcParams['font.sans-serif'] = ['SimHei']

 # 正常顯示負(fù)號
 plt.rcParams['axes.unicode_minus'] = False

 # 設(shè)置字體⼤⼩
 plt.rcParams.update({'font.size': 16})

 # 從 Excel ⽂件中讀取數(shù)據(jù),第⼀列設(shè)置為索引
 sale = pd.read_excel('./data/每月目標(biāo)銷售額和實(shí)際銷售額.xlsx', index_col=0)
 # 提取數(shù)據(jù)
 # print('index')
 x = sale.index # Index(['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], dtype='object', name='month')
 # print(x)
 y1 = sale.目標(biāo)銷售額
 y2 = sale.實(shí)際銷售額
 # 計(jì)算差額
 y3 = y2 - y1
 # 繪制折線圖
 plt.figure(figsize=(16, 8))
 plt.subplot(111)
 plt.plot(x, y1, ls='-', lw=2, label='目標(biāo)銷售額')
 plt.plot(x, y2, ls='--', lw=2, label='實(shí)際銷售額')
 # ⽤列表推導(dǎo)式定義柱⼦的顏⾊,綠⾊代表完成⽬標(biāo), 紅⾊代表沒有完成⽬標(biāo)
 color = ['g' if i > 0 else '#dc5034' for i in y3]

 # 繪制柱形圖
 plt.bar(x, y3, color=color, label='差額')
 # 設(shè)置圖例
 plt.legend(loc='upper left')
 # 設(shè)置標(biāo)題
 title = '\n每月銷售目標(biāo)達(dá)成情況\n'
 plt.title(title, fontsize=36, loc='center', color='k')
 plt.show()

if __name__ == '__main__':
 plot_combination1()
 plot_combination2()

繪制結(jié)果:

第一種 

第二種:

參考書目:

數(shù)據(jù)化分析 Python 實(shí)戰(zhàn) - 林驥

以上就是Python繪制組合圖的示例的詳細(xì)內(nèi)容,更多關(guān)于Python繪制組合圖的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python 利用turtle模塊畫出沒有角的方格

    python 利用turtle模塊畫出沒有角的方格

    今天小編就為大家分享一篇python 利用turtle模塊畫出沒有角的方格,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Flask?的路由Route詳情

    Flask?的路由Route詳情

    在上一篇Flask?入門Web?微框架Hello?Flask中,我們用?Flask?框架寫了一個?Hello?Flask?應(yīng)用程序,我們了解到?Flask?框架簡潔高效、可以快速上手,接下來將對?Flask?框架的各項(xiàng)功能詳細(xì)的介紹一下,本篇文章介紹的是?Flask?的路由(Route),需要的朋友可以參考一下
    2021-11-11
  • Python數(shù)據(jù)結(jié)構(gòu)之優(yōu)先級隊(duì)列queue用法詳解

    Python數(shù)據(jù)結(jié)構(gòu)之優(yōu)先級隊(duì)列queue用法詳解

    queue庫提供了一個適用于多線程編程的先進(jìn)先出(FIFO)數(shù)據(jù)結(jié)構(gòu),可以用來在生產(chǎn)者與消費(fèi)者線程之間安全地傳遞消息或其他數(shù)據(jù),它會為調(diào)用者處理鎖定,使多個線程可以安全而更容易地處理同一個Queue實(shí)例.Queue的大小可能受限,以限制內(nèi)存使用或處理,需要的朋友可以參考下
    2021-05-05
  • django 常用orm操作詳解

    django 常用orm操作詳解

    下面小編就為大家?guī)硪黄猟jango 常用orm操作詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 10分鐘教你用Python實(shí)現(xiàn)微信自動回復(fù)功能

    10分鐘教你用Python實(shí)現(xiàn)微信自動回復(fù)功能

    今天,我們就來用Python實(shí)現(xiàn)微信的自動回復(fù)功能吧,并且把接收到的消息統(tǒng)一發(fā)送到文件助手里面,方便統(tǒng)一查看。感興趣的朋友跟隨小編一起看看吧
    2018-11-11
  • python 機(jī)器學(xué)習(xí)之支持向量機(jī)非線性回歸SVR模型

    python 機(jī)器學(xué)習(xí)之支持向量機(jī)非線性回歸SVR模型

    這篇文章主要介紹了python 機(jī)器學(xué)習(xí)之支持向量機(jī)非線性回歸SVR模型,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 基于Python制作打地鼠小游戲

    基于Python制作打地鼠小游戲

    這篇文章主要為大家介紹了如何利用Python實(shí)現(xiàn)打地鼠小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 用Python采集《雪中悍刀行》彈幕做成詞云實(shí)例

    用Python采集《雪中悍刀行》彈幕做成詞云實(shí)例

    大家好,本篇文章主要講的是用Python采集《雪中悍刀行》彈幕做成詞云實(shí)例,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Python+Pytest實(shí)現(xiàn)壓力測試詳解

    Python+Pytest實(shí)現(xiàn)壓力測試詳解

    在現(xiàn)代Web應(yīng)用程序中,性能是至關(guān)重要的。為了確保應(yīng)用程序能夠在高負(fù)載下正常運(yùn)行,我們需要進(jìn)行性能測試。本文就來用Pytest進(jìn)行壓力測試,希望對大家有所幫助
    2023-03-03
  • python tiktoken的簡介、安裝、使用方法

    python tiktoken的簡介、安裝、使用方法

    tiktoken是OpenAI于近期開源的Python第三方模塊,該模塊主要實(shí)現(xiàn)了tokenizer的BPE(Byte pair encoding)算法,并對運(yùn)行性能做了極大的優(yōu)化,本文將介紹python tiktoken的簡介、安裝、使用方法,感興趣的朋友跟隨小編一起看看吧
    2023-10-10

最新評論