python matplotlib imshow热图坐标替换/映射实例


Posted in Python onMarch 14, 2020

今天遇到了这样一个问题,使用matplotlib绘制热图数组中横纵坐标自然是图片的像素排列顺序,

但是这样带来的问题就是画出来的x,y轴中坐标点的数据任然是x,y在数组中的下标,

实际中我们可能期望坐标点是其他的一个范围,如图:

python matplotlib imshow热图坐标替换/映射实例

坐标点标出来的是实际数组中的下标,而我希望纵坐标是频率,横坐标是其他的范围

plt.yticks(np.arange(0, 1024, 100), np.arange(10000, 11024, 100))
#第一个参数表示原来的坐标范围,100是每隔100个点标出一次
#第二个参数表示将展示的坐标范围替换为新的范围,同样每隔100个点标出一次
plt.xticks(np.arange(0, 2000, 500), np.arange(0, 50000, 500)) 
#同理将x轴的表示范围由(0,2000)扩展到(0,50000)每隔500个点标出一次

python matplotlib imshow热图坐标替换/映射实例

完成!

补充知识:matplotlib plt.scatter()中cmap用法

我就废话不多说了,还是直接看代码吧!

import numpy as np
import matplotlib.pyplot as plt


# Have colormaps separated into categories:
# http://matplotlib.org/examples/color/colormaps_reference.html
cmaps = [('Perceptually Uniform Sequential', [
      'viridis', 'plasma', 'inferno', 'magma']),
     ('Sequential', [
      'Greys', 'Purples', 'Blues', 'Greens', 'Oranges', 'Reds',
      'YlOrBr', 'YlOrRd', 'OrRd', 'PuRd', 'RdPu', 'BuPu',
      'GnBu', 'PuBu', 'YlGnBu', 'PuBuGn', 'BuGn', 'YlGn']),
     ('Sequential (2)', [
      'binary', 'gist_yarg', 'gist_gray', 'gray', 'bone', 'pink',
      'spring', 'summer', 'autumn', 'winter', 'cool', 'Wistia',
      'hot', 'afmhot', 'gist_heat', 'copper']),
     ('Diverging', [
      'PiYG', 'PRGn', 'BrBG', 'PuOr', 'RdGy', 'RdBu',
      'RdYlBu', 'RdYlGn', 'Spectral', 'coolwarm', 'bwr', 'seismic']),
     ('Qualitative', [
      'Pastel1', 'Pastel2', 'Paired', 'Accent',
      'Dark2', 'Set1', 'Set2', 'Set3',
      'tab10', 'tab20', 'tab20b', 'tab20c']),
     ('Miscellaneous', [
      'flag', 'prism', 'ocean', 'gist_earth', 'terrain', 'gist_stern',
      'gnuplot', 'gnuplot2', 'CMRmap', 'cubehelix', 'brg', 'hsv',
      'gist_rainbow', 'rainbow', 'jet', 'nipy_spectral', 'gist_ncar'])]


nrows = max(len(cmap_list) for cmap_category, cmap_list in cmaps)
gradient = np.linspace(0, 1, 256)
gradient = np.vstack((gradient, gradient))


def plot_color_gradients(cmap_category, cmap_list, nrows):
  fig, axes = plt.subplots(nrows=nrows)
  fig.subplots_adjust(top=0.95, bottom=0.01, left=0.2, right=0.99)
  axes[0].set_title(cmap_category + ' colormaps', fontsize=14)

  for ax, name in zip(axes, cmap_list):
    ax.imshow(gradient, aspect='auto', cmap=plt.get_cmap(name))
    pos = list(ax.get_position().bounds)
    x_text = pos[0] - 0.01
    y_text = pos[1] + pos[3]/2.
    fig.text(x_text, y_text, name, va='center', ha='right', fontsize=10)

  # Turn off *all* ticks & spines, not just the ones with colormaps.
  for ax in axes:
    ax.set_axis_off()


for cmap_category, cmap_list in cmaps:
  plot_color_gradients(cmap_category, cmap_list, nrows)

#十分类散点图绘制
randlabel = np.random.randint(0,1,10)
randdata = np.reshape(np.random.rand(10*2),(10,2))


cm = plt.cm.get_cmap('RdYlBu')
z = randlabel
sc = plt.scatter(randdata[:,0], randdata[:,1], c=z, vmin=0, vmax=10, s=35,edgecolors='k', cmap=cm)
plt.colorbar(sc)
plt.show()

以上这篇python matplotlib imshow热图坐标替换/映射实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python获取指定网页上所有超链接的方法
Apr 04 Python
基于Python3 逗号代码 和 字符图网格(详谈)
Jun 22 Python
python实现图片处理和特征提取详解
Nov 13 Python
Odoo中如何生成唯一不重复的序列号详解
Feb 10 Python
Python2实现的图片文本识别功能详解
Jul 11 Python
基于numpy中数组元素的切片复制方法
Nov 15 Python
django搭建项目配置环境和创建表过程详解
Jul 22 Python
QML实现钟表效果
Jun 02 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
Nov 28 Python
一文读懂python Scrapy爬虫框架
Feb 24 Python
python可视化大屏库big_screen示例详解
Nov 23 Python
ubuntu安装jupyter并设置远程访问的实现
Mar 31 Python
python pyqtgraph 保存图片到本地的实例
Mar 14 #Python
Python 实现将大图切片成小图,将小图组合成大图的例子
Mar 14 #Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
Mar 14 #Python
python matplotlib 绘图 和 dpi对应关系详解
Mar 14 #Python
python 工具 字符串转numpy浮点数组的实现
Mar 14 #Python
python tkinter GUI绘制,以及点击更新显示图片代码
Mar 14 #Python
使用Python爬取弹出窗口信息的实例
Mar 14 #Python
You might like
php下网站防IP攻击代码,超级实用
2010/10/24 PHP
php中file_get_contents与curl性能比较分析
2014/11/08 PHP
JavaScript写的一个DIV 弹出网页对话框
2009/08/14 Javascript
关于jQuery中的each方法(jQuery到底干了什么)
2014/03/05 Javascript
jQuery实现360°全景拖动展示
2015/03/18 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
2015/06/11 Javascript
JavaScript 经典实例日常收集整理(常用经典)
2016/03/30 Javascript
Avalon中文长字符截取、关键字符隐藏、自定义过滤器
2016/05/18 Javascript
详解JavaScript中this关键字的用法
2016/05/26 Javascript
js实现简单的二级联动效果
2017/03/09 Javascript
Vue中的数据监听和数据交互案例解析
2017/07/12 Javascript
js 判断一个数字是不是2的n次方幂的实例
2017/11/26 Javascript
浅析node应用的timing-attack安全漏洞
2018/02/28 Javascript
解决vue 界面在苹果手机上滑动点击事件等卡顿问题
2018/11/27 Javascript
javascript设计模式 ? 建造者模式原理与应用实例分析
2020/04/10 Javascript
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
[56:01]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 Effect vs EG
2018/03/31 DOTA
python中常用的各种数据库操作模块和连接实例
2014/05/29 Python
pycharm安装和首次使用教程
2018/08/27 Python
python安装scipy的方法步骤
2019/06/26 Python
使用python获取邮箱邮件的设置方法
2019/09/20 Python
python Matplotlib数据可视化(1):简单入门
2020/09/30 Python
HTML5 canvas实现雪花飘落特效
2016/03/08 HTML / CSS
Sofmap官网:日本著名的数码电器专卖店
2017/05/19 全球购物
英国最大最好的无人机商店:Drones Direct
2019/07/12 全球购物
英国美术用品购物网站:Cass Art
2019/10/08 全球购物
行政部工作岗位职责范本
2014/03/05 职场文书
业务员简历自我评价
2014/03/06 职场文书
消防安全宣传标语
2014/06/07 职场文书
关于读书的演讲稿500字
2014/08/27 职场文书
政府领导干部个人对照检查材料思想汇报
2014/09/24 职场文书
企业党的群众路线教育实践活动学习心得体会
2014/10/31 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
2015年项目经理工作总结
2015/04/30 职场文书
幼师必备:幼儿园期末教师评语50条
2019/11/01 职场文书
用Python远程登陆服务器的步骤
2021/04/16 Python