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 相关文章推荐
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
Jul 11 Python
python opencv实现图片旋转矩形分割
Jul 26 Python
pygame游戏之旅 添加icon和bgm音效的方法
Nov 21 Python
python实现植物大战僵尸游戏实例代码
Jun 10 Python
使用python画社交网络图实例代码
Jul 10 Python
Python实现性能自动化测试竟然如此简单
Jul 30 Python
Python3批量移动指定文件到指定文件夹方法示例
Sep 02 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
Feb 25 Python
基于Python爬取51cto博客页面信息过程解析
Aug 25 Python
python 中的9个实用技巧,助你提高开发效率
Aug 30 Python
Python random模块的使用示例
Oct 10 Python
Python find()、rfind()方法及作用
Dec 24 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解析http获取的json字符串变量总是空白null
2015/03/02 PHP
Docker配置PHP开发环境教程
2016/12/21 PHP
php及codeigniter使用session-cookie的方法(详解)
2017/04/06 PHP
PHP设计模式之建造者模式定义与用法简单示例
2018/08/13 PHP
Mootools 1.2教程(3) 数组使用简介
2009/09/14 Javascript
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
2010/01/15 Javascript
再次分享18个非常棒的jQuery表格插件
2011/04/10 Javascript
jquery分页插件AmSetPager(自写)
2013/04/15 Javascript
30分钟快速掌握Bootstrap框架
2016/05/24 Javascript
jQuery简单实现仿京东分类导航层效果
2016/06/07 Javascript
jQuery实现表格隔行及滑动,点击时变色的方法【测试可用】
2016/08/20 Javascript
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
js实现漫天星星效果
2017/01/19 Javascript
3分钟掌握常用的JS操作JSON方法总结
2017/04/25 Javascript
react-router实现按需加载
2017/05/09 Javascript
详解使用nvm安装node.js
2017/07/18 Javascript
Node.js应用设置安全的沙箱环境
2018/04/23 Javascript
vue地区选择组件教程详解
2018/05/04 Javascript
JavaScript判断浏览器版本的方法
2019/11/03 Javascript
[55:03]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.20
2020/11/20 DOTA
python开发之字符串string操作方法实例详解
2015/11/12 Python
Python监控服务器实用工具psutil使用解析
2019/12/19 Python
TensorBoard 计算图的查看方式
2020/02/15 Python
python中plt.imshow与cv2.imshow显示颜色问题
2020/07/16 Python
解决Python 写文件报错TypeError的问题
2020/10/23 Python
5分钟弄清楚html5的drag and drop(小结)
2019/04/10 HTML / CSS
SmartBuyGlasses比利时:购买品牌太阳镜和眼镜
2019/08/09 全球购物
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
网络公司美工设计工作个人的自我评价
2013/11/03 职场文书
人事行政经理岗位职责
2014/06/18 职场文书
2014离婚协议书范文
2014/09/10 职场文书
画展邀请函
2015/01/31 职场文书
2015年世界卫生日活动总结
2015/02/09 职场文书
意外事故赔偿协议书
2016/03/22 职场文书
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
2021/05/21 Python
Win10 最新稳定版本 21H2开始推送
2022/04/19 数码科技