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的Django框架中的ORM建立查询API
Apr 20 Python
python使用正则表达式提取网页URL的方法
May 26 Python
Python使用回溯法子集树模板解决迷宫问题示例
Sep 01 Python
python之pandas用法大全
Mar 13 Python
python随机取list中的元素方法
Apr 08 Python
使用pip发布Python程序的方法步骤
Oct 11 Python
浅谈python编译pyc工程--导包问题解决
Mar 20 Python
python 计算一个字符串中所有数字的和实例
Jun 11 Python
在Mac中PyCharm配置python Anaconda环境过程图解
Mar 11 Python
TensorFlow打印输出tensor的值
Apr 19 Python
python 网络编程要点总结
Jun 18 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 获取select下拉列表框的值
2010/05/08 PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
2014/06/23 PHP
php自动提交表单的方法(基于fsockopen与curl)
2016/05/09 PHP
对联广告js flash激活
2006/10/19 Javascript
JS 动态获取节点代码innerHTML分析 [IE,FF]
2009/11/30 Javascript
javascript 通用简单的table选项卡实现
2010/05/07 Javascript
用js获取电脑信息(是使用与IE浏览器)
2013/01/15 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
基于pthread_create,readlink,getpid等函数的学习与总结
2013/07/17 Javascript
js中Image对象以及对其预加载处理示例
2013/11/20 Javascript
jQuery插件开发详细教程
2014/06/06 Javascript
AngularJS实现单独作用域内的数据操作
2016/09/05 Javascript
JS与HTML结合实现流程进度展示条思路详解
2017/09/03 Javascript
浅谈HTTP 缓存的那些事儿
2018/10/17 Javascript
Vue递归组件+Vuex开发树形组件Tree--递归组件的简单实现
2019/04/01 Javascript
介绍Python中内置的itertools模块
2015/04/29 Python
python如何在终端里面显示一张图片
2016/08/17 Python
Python爬虫之模拟知乎登录的方法教程
2017/05/25 Python
利用Hyperic调用Python实现进程守护
2018/01/02 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
python使用Matplotlib画饼图
2018/09/25 Python
使用Python控制摄像头拍照并发邮件
2019/04/23 Python
python 实现在tkinter中动态显示label图片的方法
2019/06/13 Python
基于python traceback实现异常的获取与处理
2019/12/13 Python
Python图像阈值化处理及算法比对实例解析
2020/06/19 Python
python爬虫 requests-html的使用
2020/11/30 Python
戴尔新加坡官网:Dell Singapore
2020/12/13 全球购物
你懂得怎么写自荐信吗?
2013/12/27 职场文书
大学生精神文明先进个人事迹材料
2014/05/02 职场文书
责任胜于能力演讲稿
2014/05/20 职场文书
三好学生先进事迹材料
2014/08/28 职场文书
员工激励培训演讲稿
2014/09/16 职场文书
合伙经营协议书范本(通用版)
2014/12/03 职场文书
经典哲理警句:志不真则心不热,心不热则功不贤
2019/11/14 职场文书
Python Numpy之linspace用法说明
2021/04/17 Python
Win11如何启用启动修复 ? Win11执行启动修复的三种方法
2022/04/08 数码科技