python pcolor坐标显示类似matlab imagesc效果

本文介绍了如何使用Python的matplotlib库来绘制类似MATLAB imagesc的二维图像。通过比较两种不同的坐标处理方式,展示了如何使数据点准确地显示在网格中央,达到与MATLAB相似的显示效果。
摘要由CSDN通过智能技术生成

实例
已知自变量x,y为两个一维数组,因变量z为对应shape的二维数组,要求画出类似matlab imagesc的二维图效果。

  • 效果1
    不对x,y做坐标处理,直接由meshgrid生成格点坐标,那么结果图中数据点是体现在网格线上,直观上会觉得少一列数据。
  • 效果2
    对x,y先做个坐标处理,再由meshgrid生成格点坐标,那么结果图中数据点就是体现在网格中央,及类似matlab imagesc的效果
import numpy as np
import matplotlib.pyplot as plt

x = np.arange(-10, 11, 5)
y = np.arange(0, 32000, 2000)
z = np.random.rand(len(x), len(y))

# 效果1
xx, yy = np.meshgrid(x, y)
plt.pcolor(xx, yy, z.T, cmap='jet')
plt.colorbar()
plt.show()

# 效果2
dx = (x[1] - x[0]) / 2
dy = (y[1] - y[0]) / 2
x_ = [x[0] - dx] + [a + dx for a in x]  # x axis
y_ = [y[0] - dy] + [a + dy for a in y]  # y axis

xx, yy = np.meshgrid(x_, y_)
plt.pcolor(xx, yy, z.T, cmap='jet')
plt.colorbar()
plt.show()

效果1
在这里插入图片描述
效果2
在这里插入图片描述

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值