有时候为了直观展现图的信息,可以在大图中添加小子图的方式进行数据分析,如下图所示:

具体的代码如下:该图连接了数据库,当然重要的不是数据展示,而是添加子图的方法。

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 实现在一张图中绘制一个小的子图方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

python 子图_python 实现在一张图中绘制一个小的子图方法相关推荐

  1. python画50个图-python 实现在一张图中绘制一个小的子图方法

    有时候为了直观展现图的信息,可以在大图中添加小子图的方式进行数据分析,如下图所示: 具体的代码如下:该图连接了数据库,当然重要的不是数据展示,而是添加子图的方法. import matplotlib. ...

  2. python画简便的图-python 实现在一张图中绘制一个小的子图方法

    有时候为了直观展现图的信息,可以在大图中添加小子图的方式进行数据分析,如下图所示: 具体的代码如下:该图连接了数据库,当然重要的不是数据展示,而是添加子图的方法. import matplotlib. ...

  3. python一张图-python 实现在一张图中绘制一个小的子图方法

    有时候为了直观展现图的信息,可以在大图中添加小子图的方式进行数据分析,如下图所示: 具体的代码如下:该图连接了数据库,当然重要的不是数据展示,而是添加子图的方法. import matplotlib. ...

  4. 用python绘制熊猫图案_python – 有没有办法在ggplot中绘制一个熊猫系列?

    我正在尝试使用pandas和非matplotlib绘图.好建议是 here.这个问题关于 yhat's ggplot,我遇到了两个问题. 在熊猫中绘制系列很容易. frequ.plot() 我不知道如 ...

  5. 计算机视觉——python在一张图中画多条ROC线

    在验证分类算法的好坏时,经常需要用到AUC曲线,而在做不同分类模型的对比实验时,需要将不同模型的AUC曲线绘制到一张图里. 计算机视觉--python在一张图中绘制多个模型的对比ROC线 1. 小型分 ...

  6. Matlab 一张图绘制在一个figure里,多张图绘制在一个figure里,和多张图分别绘制在一个figure里(多重子图)讲解及代码

    matlab的绘图可以采用直角坐标系.对数坐标系和极坐标等形式.数据点也可用向量或矩阵形式给出,类型可以是实型或复型. 一张图绘制在一个figure里: 以实例和代码讲解:在不同图形窗口下分别绘制出y ...

  7. chatgpt赋能python:Python将两张图片拼接成一张图:让您的图片处理更高效!

    Python将两张图片拼接成一张图:让您的图片处理更高效! 作为一个有着10年Python编程经验的工程师,我发现Python成为了许多项目的主要语言,其中涵盖了很多关于图像处理的应用程序.在本文中, ...

  8. R语言使用ggplot2同时可视化dataframe的多个数据列实战:多个数据列可视化在同一个图中、多个数据列可视化在多个图中(纵向多个子图)

    R语言使用ggplot2同时可视化dataframe的多个数据列实战:多个数据列可视化在同一个图中.多个数据列可视化在多个图中(纵向多个子图) 目录

  9. R语言可视化包ggplot2在一张图中画出两条线实战

    R语言可视化包ggplot2在一张图中画出两条线实战 目录 R语言可视化包ggplot2在一张图中画出两条线实战

最新文章

  1. Adobe Illustrator CS6 界面文字按钮太小,高分屏win10PS/AI等软件界面字太小解决方法
  2. tomcat 6.0 部署报错信息
  3. 常量池之字符串常量池String.intern()
  4. rop的noejs客户端
  5. simulink怎么生成vxworks的执行程序_Matlab/Simulink基础了解(五):基础Simulink模型搭建及Embedded基础使用...
  6. python基础-类
  7. 遍历处理path及其子目录所有文件
  8. virtio 网络的演化:原始virtio > vhost-net(内核态) > vhost-user(DPDK) > vDPA
  9. python pyd_python解析.pyd文件
  10. Mac 上删除用户或群组教程
  11. 第13章 集成学习和随机森林 学习笔记下 随机森林和集成学习
  12. oracle votedisk ocr,Oracle 11gR2 RAC OCR和votingdisk故障恢复案例
  13. 如何使用IDEA自带的数据库连接工具连接达梦数据库,IDEA连接DM(达梦)数据库
  14. 等距更纱黑体 T SC regular下载
  15. 2019 deecamp B题不完全的记录
  16. 【调剂】东华理工大学2020年硕士研究生预调剂信息
  17. K-means中K值的选取
  18. VMWare 虚拟网络连接设置与主机设置不一致导致虚拟机无法连接网络的解决办法
  19. Java画图程序设计
  20. Spring Cloud Netfilx Ribbon(负载均衡工具)

热门文章

  1. 360压缩电脑版_360压缩国际版
  2. 数据包编辑工具bittwiste
  3. db2设置默认schema_DB2中设置当前会话的Schema
  4. seaborn系列 (13) | 点图pointplot()
  5. 这款AI语音模型让派大星承认自己是钢铁侠,造假小扎对口型,火到挤爆服务器|在线可玩...
  6. 天津大学火速解聘学术不端教授!退学研究生123页PDF实名举报,控诉利用职权为女儿留学铺路...
  7. 防止删库悲剧发生,这里有个Bash脚本测试框架,危险代码一测便知
  8. 苹果首席设计官离职!这个被称为“强纳肾”的男人,设计了iMac、iPhone等无数产品...
  9. 【译】为什么我们在 API 中使用 GraphQL
  10. 深入分析 java 8 编程语言规范:Threads and Locks