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

python 實現(xiàn)在一張圖中繪制一個小的子圖方法

 更新時間:2019年07月07日 13:25:39   作者:wychen_sunshine  
今天小編就為大家分享一篇python 實現(xiàn)在一張圖中繪制一個小的子圖方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

有時候為了直觀展現(xiàn)圖的信息,可以在大圖中添加小子圖的方式進(jìn)行數(shù)據(jù)分析,如下圖所示:

具體的代碼如下:該圖連接了數(shù)據(jù)庫,當(dāng)然重要的不是數(shù)據(jù)展示,而是添加子圖的方法。

import matplotlib.pyplot as plt
import MySQLdb as mdb
import numpy as np
from mpl_toolkits.axes_grid1.inset_locator import inset_axes
from mpl_toolkits.axes_grid1.inset_locator import mark_inset


def graph():
  # 連接數(shù)據(jù)庫
  conn = mdb.connect(host='127.0.0.1', port=3306, user='root', passwd='root', db='alibaba_trace', charset='utf8')

  # 如果使用事務(wù)引擎,可以設(shè)置自動提交事務(wù),或者在每次操作完成后手動提交事務(wù)conn.commit()
  conn.autocommit(1) # conn.autocommit(True)

  # 使用cursor()方法獲取操作游標(biāo)
  cursor = conn.cursor()
  # 因該模塊底層其實是調(diào)用CAPI的,所以,需要先得到當(dāng)前指向數(shù)據(jù)庫的指針。
  try:
    cursor.execute("select machineID, count(id) from batch_instance where machineID != 0 group by machineID")
    records = cursor.fetchall()
    list_records = list(records)

  except:
    import traceback
    traceback.print_exc()
    # 發(fā)生錯誤時回滾
    conn.rollback()
  finally:
    # 關(guān)閉游標(biāo)連接
    cursor.close()
    # 關(guān)閉數(shù)據(jù)庫連接
    conn.close()

  res = []
  res[:] = map(list, list_records)
  machineID = [x[0] for x in res]
  instance_num = [x[1] for x in res]
  print(max(instance_num))
  print(min(instance_num))


  fig = plt.figure()
  ax1 = fig.add_subplot(1, 1, 1)
  # # cdf
  # hist, bin_edges = np.histogram(instance_num, bins=len(np.unique(instance_num)))
  # cdf = np.cumsum(hist / sum(hist))
  # ax1.plot(bin_edges[1:], cdf, color='red', ls='-')
  # ax1.set_xlabel("instance number per machine")
  # ax1.set_ylabel("portion of machine")
  # plt.savefig('../../imgs_mysql/cdf_of_machine_instance.png')

  # # 直方圖
  ax1.hist(instance_num, normed=False, alpha=1.0, bins=100)
  ax1.set_xlabel('instance number per machine')
  ax1.set_ylabel('machine number')
  # cdf 要添加的子圖
  axins = inset_axes(ax1, width=1.5, height=1.5, loc='upper left')
  # ax1 大圖
  # width height分別為子圖的寬和高
  # loc 為子圖在大圖ax1中的相對位置 相應(yīng)的值有
  # upper left
  # lower left
  # lower right
  # right
  # center left
  # center right
  # lower center
  # upper center
  # center
  hist, bin_edges = np.histogram(instance_num, bins=len(np.unique(instance_num)))
  cdf = np.cumsum(hist / sum(hist))
  axins.plot(bin_edges[1:], cdf, color='red', ls='-')
  axins.set_yticks([])
  # axins.set_xlabel("instance number per machine")
  # axins.set_ylabel("portion of machine")

  plt.savefig("../../imgs_mysql/hist_of_machine_instance")
  plt.show()

if __name__ == '__main__':
  graph()

以上這篇python 實現(xiàn)在一張圖中繪制一個小的子圖方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python編程判斷這天是這一年第幾天的方法示例

    Python編程判斷這天是這一年第幾天的方法示例

    這篇文章主要介紹了Python編程判斷這天是這一年第幾天的方法,涉及Python針對日期時間的轉(zhuǎn)換與運算相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04
  • Python實現(xiàn)通過解析域名獲取ip地址的方法分析

    Python實現(xiàn)通過解析域名獲取ip地址的方法分析

    這篇文章主要介紹了Python實現(xiàn)通過解析域名獲取ip地址的方法,結(jié)合實例形式總結(jié)分析了兩種比較常見的解析域名對應(yīng)IP地址相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • 淺析Python中的變量賦值與多重賦值

    淺析Python中的變量賦值與多重賦值

    在?Python?中,變量賦值是編程中常見的操作之一,本文將深入探討?Python?中的變量賦值和多重賦值,包括其基本語法、特性、應(yīng)用場景以及示例代碼,需要的可以參考下
    2024-03-03
  • 使用Python和OpenCV進(jìn)行圖像處理和分析

    使用Python和OpenCV進(jìn)行圖像處理和分析

    圖像處理和分析是計算機視覺領(lǐng)域的重要組成部分,本文將介紹如何使用Python編程語言和OpenCV庫進(jìn)行圖像處理和分析,我們將涵蓋圖像讀取、顯示、濾波、邊緣檢測和圖像分割等常見的圖像處理操作,并提供相應(yīng)的代碼示例
    2023-07-07
  • 淺談Python中的私有變量

    淺談Python中的私有變量

    本篇文章給大家講述了Python中的私有變量相關(guān)的知識點內(nèi)容,學(xué)習(xí)后大家會對私有變量有更系統(tǒng)的了解。
    2018-02-02
  • Python實現(xiàn)嵌套列表及字典并按某一元素去重復(fù)功能示例

    Python實現(xiàn)嵌套列表及字典并按某一元素去重復(fù)功能示例

    這篇文章主要介紹了Python實現(xiàn)嵌套列表及字典并按某一元素去重復(fù)功能,涉及Python列表嵌套列表、列表嵌套字典,及按照某一元素去重復(fù)的相關(guān)操作方法,需要的朋友可以參考下
    2017-11-11
  • Sanic框架Cookies操作示例

    Sanic框架Cookies操作示例

    這篇文章主要介紹了Sanic框架Cookies操作,結(jié)合實例形式分析了Sanic框架cookie讀取、寫入及刪除等簡單操作技巧,需要的朋友可以參考下
    2018-07-07
  • 如何使用python socket模塊實現(xiàn)簡單的文件下載

    如何使用python socket模塊實現(xiàn)簡單的文件下載

    這篇文章主要介紹了如何使用python socket模塊實現(xiàn)簡單的文件下載,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09
  • Django實現(xiàn)任意文件上傳(最簡單的方法)

    Django實現(xiàn)任意文件上傳(最簡單的方法)

    這篇文章主要介紹了Django實現(xiàn)任意文件上傳,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • python排序算法之歸并排序

    python排序算法之歸并排序

    這篇文章主要介紹了python排序算法之歸并排序,歸并排序算法就是一個先把數(shù)列拆分為子數(shù)列,對子數(shù)列進(jìn)行排序后,再把有序的子數(shù)列合并為完整的有序數(shù)列的算法,需要的朋友可以參考下
    2023-04-04

最新評論