python hist2d_使用hist2d在matplotlib中创建一个对数线性图
它无法正常工作的原因是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中创建一个对数线性图相关推荐
- python 生成可执行文件_在Cython中创建一个可执行文件
你想要的是Cython编译器的–embed标志. 关于它没有大量的文档,但this是我能找到的.它确实链接到一个简单的工作示例. 要将Cython源代码编译为可以编译为可执行文件的C文件,可以使用cy ...
- 如何在 Python 中创建一个简单的神经网络
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 引言 在过去的几十年里,机器学习对世界产生了巨大的影响,而且它的普 ...
- 在python中创建一个具有特定大小的空列表
本文翻译自:Create an empty list in python with certain size I want to create an empty list (or whatever i ...
- python中point什么意思_在Python中创建一个Point类
我正在尝试在python中创建一个名为"Point"的类.我试图在坐标平面x和y上创建一个点并跟踪它们.以及找到点之间的距离.我必须使用函数和方法.我已经开始了,这是我的代码.我执 ...
- python动态网页开发教程_python django创建一个属于自己的动态网站
您如何开始使用Python创建网站?好吧,你可以自己完成所有工作,并编写一个在Web服务器上运行的程序,接受页面请求并以HTML和其他资源的形式提供响应.然而,这是很多工作,那么为什么在有大量现有工具 ...
- Python 数据分析三剑客之 Matplotlib(四):线性图的绘制
CSDN 课程推荐:<Python 数据分析与挖掘>,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务.曾与联想.亨氏.网 ...
- excel箱形图中位数_在Excel中创建简单的箱形图
excel箱形图中位数 A box plot (box and whisker chart) lets you show how numbers are distributed in a set of ...
- 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 ...
- 学习在Unity中创建一个动作RPG游戏
游戏开发变得简单.使用Unity学习C#并创建您自己的动作角色扮演游戏! 你会学到什么 学习C#,一种现代通用的编程语言. 了解Unity中2D发展的能力. 发展强大的和可移植的解决问题的技能. 了解 ...
最新文章
- 巨大的需求之下 人工智能如何更快落地?
- 修改exe图标,加入版本号
- python基础语法手册format-Python-输出格式化format()方法的基本使用(2)
- 基于用户的协同过滤和皮尔逊相关系数
- 设计模式总结 (3)创建内存型模式
- phpcms v9中模板标签和联动菜单的使用方法详解
- python3.5中pdfkit的详细配置与使用
- MicroProfile OpenAPI上的Swagger UI
- vue-cli项目引用文件/组件/库 的注意事项(一)
- dnn神经网络 缺点_抄近路神经网络如何因找捷径而犯错
- NOI 08 石头剪刀布
- 中国塑溶胶密封剂行业市场供需与战略研究报告
- oracle高性能分页,Oracle中高性能分页包
- Js中的window.parent ,window.top,window.self详解
- python数据可视化安装软件_《Python数据可视化编程实战》——1.5 在Windows上安装matplotlib-阿里云开发者社区...
- Linux的使用注意事项
- MySQL专题系统归纳快速上手(常用cmd命令,常用函数汇总,SQL语句精讲带示例)适用初学、用法速查
- 基于LSTM的情感识别在鹅漫电商评论分析中的实践与应用
- 前端开发(html)
- 【Linux】Linux环境基础开发工具使用 —— yum | vim | gcc g++ | gdb | make makefile | 进度条 | git
热门文章
- 计算机四级准考证ppt,计算机等级考试四级课件PPT.ppt
- 457. 括号匹配二
- hisicv200 exfat支持(转)
- face alignment---各种算法框架
- POJ 2762 Going from u to v or from v to u? (判断单连通)
- 允许远程用户登录访问mysql的方法
- C#接口的使用场合,接口应用
- 关于Autorun.inf文件
- [Remoting FAQ]Loading a Remoting Host On IIS得到BadImageFormatException
- iis php.exe,在IIS75下使用php运行exe程序的总结