用非正交轴(即平行四边形)显示

时间:2015-07-07 14:45:23

标签: python matplotlib

我有沿两个非正交a,b

向量采样的二维数据阵列

a = | a |。(cos(alfa),sin(alfa))

b = | b |。(cos(beta),sin(beta))

(即不沿正交笛卡儿方向x,y)

我想将这些数据绘制成未扭曲的(即平行四边形而不是矩形)

在matplotlib中是否有任何功能?

我需要它来绘制像这样的数据(c,f,i)

enter image description here

1 个答案:

答案 0 :(得分:1)

如何使用仿射变换,如example

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.transforms as mtransforms

def get_image():
    from scipy import misc
    Z = misc.imread('31271907.jpg')
    return Z

# Get image
fig, ax = plt.subplots(1,1)
Z = get_image()

# image skew
im = ax.imshow(Z, interpolation='none', origin='lower',
                 extent=[-2, 4, -3, 2], clip_on=True)
im._image_skew_coordinate = (3, -2)

plt.show()

使用图像

enter image description here

并将其变为,

enter image description here