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之list和str比较
Sep 20 Python
详解Python的Django框架中的Cookie相关处理
Jul 22 Python
python中zip()方法应用实例分析
Apr 16 Python
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
Jun 13 Python
Python 网页解析HTMLParse的实例详解
Aug 10 Python
Android分包MultiDex策略详解
Oct 30 Python
django之session与分页(实例讲解)
Nov 13 Python
python中实现数组和列表读取一列的方法
Apr 03 Python
Python3实现计算两个数组的交集算法示例
Apr 03 Python
Python 根据日志级别打印不同颜色的日志的方法示例
Aug 08 Python
浅谈python之自动化运维(Paramiko)
Jan 31 Python
Python闭包与装饰器原理及实例解析
Apr 30 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中mysql连接和基本操作代码(快速测试使用,简单方便)
2014/04/25 PHP
php获取指定日期之间的各个周和月的起止时间
2014/11/24 PHP
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
2015/08/23 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
2016/11/09 PHP
jQuery UI-Draggable 参数集合
2010/01/10 Javascript
JS下高效拼装字符串的几种方法比较与测试代码
2010/04/15 Javascript
js利用与或运算符优先级实现if else条件判断表达式
2010/04/15 Javascript
JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
2010/09/12 Javascript
jquery选择器简述
2015/08/31 Javascript
整理Javascript基础语法学习笔记
2015/11/29 Javascript
JavaScript原生xmlHttp与jquery的ajax方法json数据格式实例
2015/12/04 Javascript
JS简单实现浮动窗口效果示例
2016/09/07 Javascript
浅谈React中的元素、组件、实例和节点
2018/02/27 Javascript
浅析Visual Studio Code断点调试Vue
2018/02/27 Javascript
angularJs复选框checkbox选中进行ng-show显示隐藏的方法
2018/10/08 Javascript
其实你可以少写点if else与switch(推荐)
2019/01/10 Javascript
实例讲解JS中pop使用方法
2019/01/27 Javascript
JS使用栈判断给定字符串是否是回文算法示例
2019/03/04 Javascript
基于JS实现web端录音与播放功能
2019/04/17 Javascript
基于vue-cli3+typescript的tsx开发模板搭建过程分享
2020/02/28 Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
2020/08/03 Javascript
[01:19:33]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第一场 2月2日
2021/03/11 DOTA
Python图算法实例分析
2016/08/13 Python
Python利用turtle库绘制彩虹代码示例
2017/12/20 Python
Python3安装pip工具的详细步骤
2019/10/14 Python
PyCharm使用之配置SSH Interpreter的方法步骤
2019/12/26 Python
python3连接MySQL8.0的两种方式
2020/02/17 Python
python读写文件write和flush的实现方式
2020/02/21 Python
Python爬虫实现百度翻译功能过程详解
2020/05/29 Python
canvas实现圆形进度条动画的示例代码
2017/12/26 HTML / CSS
世界排名第一的万圣节服装店:Spirit Halloween
2018/10/16 全球购物
Liu Jo西班牙官网:意大利服装品牌
2019/09/11 全球购物
自我鉴定书范文
2013/10/02 职场文书
企业指导教师评语
2014/04/28 职场文书
幼儿园教师暑期培训心得体会
2016/01/09 职场文书
SpringBoot详解执行过程
2022/07/15 Java/Android