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

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

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画50个图-python 实现在一张图中绘制一个小的子图方法相关推荐

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

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

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

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

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

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

  4. python turtle 画老鼠_通过Turtle库在Python中绘制一个鼠年福鼠

    turtle库是一个很经典的绘图库,其最初来自于1967年创造的logo编程语言,之后被Python编写放到了Python的内置模块中.网络上有很多借助于turtle绘制精美图像的案例.比如小猪佩奇. ...

  5. python中turtle画老虎_通过Turtle库在Python中绘制一个鼠年福鼠

    turtle库是一个很经典的绘图库,其最初来自于1967年创造的logo编程语言,之后被Python编写放到了Python的内置模块中.网络上有很多借助于turtle绘制精美图像的案例.比如小猪佩奇. ...

  6. python基础教程:通过Turtle库在Python中绘制一个鼠年福鼠

    这篇文章主要介绍了通过Turtle库在Python中绘制一个鼠年福鼠,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 turtle库是一个很经典的绘图库,其最初来自 ...

  7. 【实践】origin画局部放大图,并和原图在一张图中

    [实践]origin画局部放大图,并和原图在一张图中 新建项目只有两列,列数不够通过右键选择Add New Column增加新列. 新增的列默认为Y(对应纵坐标),可以选中新增列右键,选择Set As ...

  8. origin多图叠加_origin 将两张图放在一起??

    1.进入后软件界面后出现一个表格,上方的X和Y分别表示X轴,Y轴.为了方便快速,我就直接导入现成的数据,选择 plot→line 绘图.如下图所示,可以看到有四幅图. 2.点击上方菜单栏中的Graph ...

  9. python画50个图-Python绘制六种可视化图表详解,三维图最炫酷!你觉得呢?

    Python绘制六种可视化图表详解,三维图最炫酷!你觉得呢? 可视化图表,有相当多种,但常见的也就下面几种,其他比较复杂一点,大都也是基于如下几种进行组合,变换出来的.对于初学者来说,很容易被这官网上 ...

最新文章

  1. log4j2的核弹漏洞是如何被发现的?
  2. Flutter RichText支持自定义文本溢出效果
  3. 推荐搜索炼丹笔记:向量召回 MIND多兴趣双塔模型
  4. 一个透明的shader
  5. FileOutputStream 类 和 FileInputStream类的简单介绍,附代码演示。以及一个复制媒体文件的小程序。
  6. 【英语学习】【WOTD】zero-sum 释义/词源/示例
  7. androidStudio使用卡顿
  8. hadoop安装小记
  9. WIN7 VS2010下配置 CGAL-4.7
  10. cognos的HTMl显示,cognos利用html项目和提示元素结合
  11. Python学习手册--第一部分(使用入门)
  12. ARP欺骗-教程详解
  13. js 原生 导出 excel
  14. μC/OS源码官网下载链接
  15. TT 的旅行日记(Dijkstra)
  16. Educational Codeforces Round 61 (Rated for Div. 2) D. Stressful Training(贪心+二分)
  17. 机器学习第三课--LWR的疑惑与想法
  18. matlab from workplace,关于使用From workspace的问题
  19. python pandas 怎么判断一天是否为工作日+计算距离特定时间之间的天数
  20. C#文本型数值转换为数值类型

热门文章

  1. OpenCV案例(四): 投射矫正
  2. OpenCV访问像素的三种方法
  3. VS2010+Opencv_2.4.7+win7的配置攻略及错误解决
  4. 第三方登录页面java_第三方登录接口使用说明(JAVA)
  5. BUNUO自动化框架图
  6. 【vue】 生命周期
  7. 第二章:在HTML中使用JavaScript
  8. angular --开发环境搭建及项目创建
  9. Linux Ubuntu 内核升级
  10. UVA11309 Counting Chaos【Ad Hoc】