它无法正常工作的原因是plt.hist2d使用pcolorfast方法,这对于大图像更有效,但不支持对数轴.

要使2D直方图在日志轴上正常工作,您需要使用np.histogram2d和ax.pcolor自己创建.但是,它只是一行额外的代码.

首先,让我们在线性轴上使用指数间隔的二进制位:

import numpy as np

import matplotlib.pyplot as plt

x, y = np.random.random((2, 1000))

x = 10**x

xbins = 10**np.linspace(0, 1, 10)

ybins = np.linspace(0, 1, 10)

fig, ax = plt.subplots()

ax.hist2d(x, y, bins=(xbins, ybins))

plt.show()

好的,一切都很好.让我们看看如果我们让x轴使用对数比例会发生什么:

import numpy as np

import matplotlib.pyplot as plt

x, y = np.random.random((2, 1000))

x = 10**x

xbins = 10**np.linspace(0, 1, 10)

ybins = np.linspace(0, 1, 10)

fig, ax = plt.subplots()

ax.hist2d(x, y, bins=(xbins, ybins))

ax.set_xscale('log') #

plt.show()

请注意,日志缩放似乎已应用,但彩色图像(直方图)未反映它.垃圾桶应该是方形的!它们不是因为pcolorfast创建的艺术家不支持日志轴.

为了解决这个问题,让我们使用np.histogram2d制作直方图(plt.hist2d使用幕后的东西),然后使用支持日志轴的pcolormesh(或pcolor)绘制直方图:

import numpy as np

import matplotlib.pyplot as plt

np.random.seed(1977)

x, y = np.random.random((2, 1000))

x = 10**x

xbins = 10**np.linspace(0, 1, 10)

ybins = np.linspace(0, 1, 10)

counts, _, _ = np.histogram2d(x, y, bins=(xbins, ybins))

fig, ax = plt.subplots()

ax.pcolormesh(xbins, ybins, counts.T)

ax.set_xscale('log')

plt.show()

(注意,我们必须在此处转置计数,因为pcolormesh期望轴的顺序为(Y,X).)

现在我们得到了我们期望的结果:

python hist2d_使用hist2d在matplotlib中创建一个对数线性图相关推荐

  1. python 生成可执行文件_在Cython中创建一个可执行文件

    你想要的是Cython编译器的–embed标志. 关于它没有大量的文档,但this是我能找到的.它确实链接到一个简单的工作示例. 要将Cython源代码编译为可以编译为可执行文件的C文件,可以使用cy ...

  2. 如何在 Python 中创建一个简单的神经网络

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 引言 在过去的几十年里,机器学习对世界产生了巨大的影响,而且它的普 ...

  3. 在python中创建一个具有特定大小的空列表

    本文翻译自:Create an empty list in python with certain size I want to create an empty list (or whatever i ...

  4. python中point什么意思_在Python中创建一个Point类

    我正在尝试在python中创建一个名为"Point"的类.我试图在坐标平面x和y上创建一个点并跟踪它们.以及找到点之间的距离.我必须使用函数和方法.我已经开始了,这是我的代码.我执 ...

  5. python动态网页开发教程_python django创建一个属于自己的动态网站

    您如何开始使用Python创建网站?好吧,你可以自己完成所有工作,并编写一个在Web服务器上运行的程序,接受页面请求并以HTML和其他资源的形式提供响应.然而,这是很多工作,那么为什么在有大量现有工具 ...

  6. Python 数据分析三剑客之 Matplotlib(四):线性图的绘制

    CSDN 课程推荐:<Python 数据分析与挖掘>,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务.曾与联想.亨氏.网 ...

  7. excel箱形图中位数_在Excel中创建简单的箱形图

    excel箱形图中位数 A box plot (box and whisker chart) lets you show how numbers are distributed in a set of ...

  8. react.js app_在React.JS中创建一个Weather App

    react.js app Hello readers! 各位读者好! In this article, you will know how to develop a basic weather app ...

  9. 学习在Unity中创建一个动作RPG游戏

    游戏开发变得简单.使用Unity学习C#并创建您自己的动作角色扮演游戏! 你会学到什么 学习C#,一种现代通用的编程语言. 了解Unity中2D发展的能力. 发展强大的和可移植的解决问题的技能. 了解 ...

最新文章

  1. 巨大的需求之下 人工智能如何更快落地?
  2. 修改exe图标,加入版本号
  3. python基础语法手册format-Python-输出格式化format()方法的基本使用(2)
  4. 基于用户的协同过滤和皮尔逊相关系数
  5. 设计模式总结 (3)创建内存型模式
  6. phpcms v9中模板标签和联动菜单的使用方法详解
  7. python3.5中pdfkit的详细配置与使用
  8. MicroProfile OpenAPI上的Swagger UI
  9. vue-cli项目引用文件/组件/库 的注意事项(一)
  10. dnn神经网络 缺点_抄近路神经网络如何因找捷径而犯错
  11. NOI 08 石头剪刀布
  12. 中国塑溶胶密封剂行业市场供需与战略研究报告
  13. oracle高性能分页,Oracle中高性能分页包
  14. Js中的window.parent ,window.top,window.self详解
  15. python数据可视化安装软件_《Python数据可视化编程实战》——1.5 在Windows上安装matplotlib-阿里云开发者社区...
  16. Linux的使用注意事项
  17. MySQL专题系统归纳快速上手(常用cmd命令,常用函数汇总,SQL语句精讲带示例)适用初学、用法速查
  18. 基于LSTM的情感识别在鹅漫电商评论分析中的实践与应用
  19. 前端开发(html)
  20. 【Linux】Linux环境基础开发工具使用 —— yum | vim | gcc g++ | gdb | make makefile | 进度条 | git

热门文章

  1. 计算机四级准考证ppt,计算机等级考试四级课件PPT.ppt
  2. 457. 括号匹配二
  3. hisicv200 exfat支持(转)
  4. face alignment---各种算法框架
  5. POJ 2762 Going from u to v or from v to u? (判断单连通)
  6. 允许远程用户登录访问mysql的方法
  7. C#接口的使用场合,接口应用
  8. 关于Autorun.inf文件
  9. [Remoting FAQ]Loading a Remoting Host On IIS得到BadImageFormatException
  10. iis php.exe,在IIS75下使用php运行exe程序的总结