亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python 實現在一張圖中繪制一個小的子圖方法

系統 1743 0

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

python 實現在一張圖中繪制一個小的子圖方法_第1張圖片

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

            
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():
  # 連接數據庫
  conn = mdb.connect(host='127.0.0.1', port=3306, user='root', passwd='root', db='alibaba_trace', charset='utf8')

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

  # 使用cursor()方法獲取操作游標
  cursor = conn.cursor()
  # 因該模塊底層其實是調用CAPI的,所以,需要先得到當前指向數據庫的指針。
  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()
    # 發生錯誤時回滾
    conn.rollback()
  finally:
    # 關閉游標連接
    cursor.close()
    # 關閉數據庫連接
    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中的相對位置 相應的值有
  # 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 實現在一張圖中繪制一個小的子圖方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 天天综合色天天综合网 | 中文字幕一二三区乱码老 | 久久尹人香蕉国产免费天天 | 亚洲国产综合视频 | 亚洲国产精品yw在线观看 | 香蕉视频免费在线观看 | 豆奶视频污 | 亚洲一区二区三区网站 | 凹凸精品视频分类国产品免费 | 婷婷色在线观看 | 4虎最新网站 | 精品福利一区二区三区免费视频 | 欧美日韩亚洲国产 | 国产精品边做奶水狂喷小说 | 国产成人精品视频免费大全 | 国产好大好爽久久久久久久 | 欧美一区二区三区精品 | 国产欧美日韩综合一区二区三区 | 国产玖玖在线 | 97黄网| 九九视频九九热 | 拍拍拍精品视频在线观看 | 毛片大片| 亚洲国产高清精品线久久 | 久久综合九九 | av中文字幕在线 | 91在线亚洲精品一区 | 国产精品人成 | 天天射影院 | 日本亚州在线播放精品 | 亚洲观看视频 | 亚洲欧美另类在线视频 | 久久国产乱子伦精品免费不卡 | 国产精品午夜高清在线观看 | 日日操夜夜操免费视频 | 亚洲国产婷婷俺也色综合 | 91精品国产色综合久久不卡蜜 | 99久久这里只精品国产免费 | 欧美精品国产日韩综合在线 | 91精品国产福利在线观看性色 | 亚洲色无码播放 |