简体   繁体   English

在 Python 中转置、旋转和组合 2D arrays

[英]Transposing, rotating, and combining 2D arrays in Python

I have a 2D array, and it size is 93 X 93.我有一个二维数组,它的大小是 93 X 93。

import numpy as np
import matplotlib.pyplot as plt

size = 93

arr2D = np.eye(size, size, dtype=float)
for i in range(size):
    for j in range(size):
        arr2D[i][j] = np.arctan((i+1)/(j+1))

arr2D = np.cos(arr2D)

plt.imshow(arr2D)
plt.colorbar(fraction=0.0455)
plt.show()

在此处输入图像描述

I would like to create 4 same arrays, transpose, and combine them (size: 186 X 186) to make them look like the figure below, how can I do this?我想创建4个相同的arrays,转置,并组合它们(大小:186 X 186),使它们看起来像下图,我该怎么做?

在此处输入图像描述

you can use np.flipud and np.fliplr for flipping and np.vstack and np.c_ for stacking您可以使用np.flipudnp.fliplr进行翻转,使用np.vstacknp.c_进行堆叠

stacked_arr = np.c_[np.fliplr(arr2D),arr2D]
stacked_arr_flipped = np.flipud(np.c_[np.fliplr(arr2D),arr2D])
new_arr = np.vstack((stacked_arr_flipped ,stacked_arr ))

plt.imshow(new_arr)
plt.colorbar(fraction=0.0455)
plt.show()

在此处输入图像描述

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM