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 sqlite3事务处理方法实例分析
Jun 19 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
May 30 Python
Python全排列操作实例分析
Jul 24 Python
Django添加favicon.ico图标的示例代码
Aug 07 Python
关于Python作用域自学总结
Jun 10 Python
详解Python 字符串相似性的几种度量方法
Aug 29 Python
Python处理session的方法整理
Aug 29 Python
python将字符串转变成dict格式的实现
Nov 18 Python
pytorch 获取tensor维度信息示例
Jan 03 Python
numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)
Apr 28 Python
python MD5加密的示例
Oct 19 Python
python用tkinter实现一个gui的翻译工具
Oct 26 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中执行系统外部命令
2006/10/09 PHP
smarty实例教程
2006/11/19 PHP
php INI配置文件的解析实现分析
2011/01/04 PHP
那些年一起学习的PHP(二)
2012/03/21 PHP
PHP开发中csrf攻击的简单演示和防范
2017/05/07 PHP
php探针不显示内存解决方法
2019/09/17 PHP
innerHTML,outerHTML,innerTEXT三者之间的区别
2007/01/28 Javascript
javascript数字格式化通用类 accounting.js使用
2012/08/24 Javascript
浅谈利用JavaScript进行的DDoS攻击原理与防御
2015/06/04 Javascript
jquery超简单实现手风琴效果的方法
2015/06/05 Javascript
IE8下jQuery改变png图片透明度时出现的黑边
2015/08/30 Javascript
JS实现可点击展开与关闭的左侧广告代码
2015/09/02 Javascript
JS遍历数组及打印数组实例分析
2016/01/21 Javascript
JS实时弹出新消息提示框并有提示音响起的实现代码
2016/04/20 Javascript
浅谈js的ajax的异步和同步请求的问题
2016/10/07 Javascript
设置jquery UI 控件的大小方法
2016/12/12 Javascript
JavaScript基本类型值-Number类型
2017/02/24 Javascript
vue + socket.io实现一个简易聊天室示例代码
2017/03/06 Javascript
angular 用拦截器统一处理http请求和响应的方法
2017/06/08 Javascript
微信小程序在地图选择地址并返回经纬度简单示例
2018/12/03 Javascript
JS栈stack类的实现与使用方法示例
2019/01/31 Javascript
精读《Vue3.0 Function API》
2020/05/20 Javascript
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
2018/11/10 Python
python DataFrame 取差集实例
2019/01/30 Python
Python2和Python3的共存和切换使用
2019/04/12 Python
pytz格式化北京时间多出6分钟问题的解决方法
2019/06/21 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
2020/08/11 Python
vue.js刷新当前页面的实例讲解
2020/12/29 Python
numpy实现RNN原理实现
2021/03/02 Python
CSS3 media queries + jQuery实现响应式导航
2016/09/30 HTML / CSS
荷兰领先的百货商店:De Bijenkorf
2018/10/17 全球购物
岗位职责范本大全
2015/02/26 职场文书
个性与发展自我评价
2015/03/06 职场文书
员工自我评价范文
2015/03/11 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
员工工作心得体会
2019/05/07 职场文书