首页 > 解决方案 > 绘制重复周期解

问题描述

我正在尝试在 python 中使用 matplotlib 绘制一个重复的周期解。我有一段时间的解决方案,我在个别情节下方提供了一个示例测试代码:

import matplotlib
import numpy as np
from matplotlib import pyplot as plt

File1 = np.genfromtxt('File1.dat')

fig,(ax1) = plt.subplots()
fig.subplots_adjust(hspace=1.0)

A1 = ax1.imshow(File1.T,extent=[-1,1,-1,1],cmap='coolwarm',origin='lower')
cbar = fig.colorbar(A1,orientation = 'vertical')

ax1.set_xticks([-1,0.0,1],minor=False)
ax1.set_yticks([-1,0.0,1],minor=False)
ax1.set_yticklabels(['$-1$','$0$','$1$'],minor=False)
ax1.set_yticklabels(['$-1$','$0$','$1$'],minor=False)

plt.xlabel('x', fontsize=22)
plt.ylabel('y', fontsize=22)
plt.title('Title', fontsize = 24)

plt.show()

其中示例 .dat 文件 File1.dat 由下式给出

0.863  0.863  0.863  
0.863  0.610  0.863  
0.863  0.863  0.863 

我现在想在同一个图上重复绘制这个周期性解。具体来说,这个图的范围是 x = [-1,1] 和 y = [-1,1],但我想让它的范围是 x = [-20,20] 和 y = [-20,20 ] 一遍又一遍地(定期)重复同样的解决方案。

我怎样才能有效地编码呢?

复制 .dat 文件中的数据可能适用于这个简单的示例,但我的实际 .dat 文件非常大,这种方法效率不高。谢谢!

标签: pythonmatplotlibplotperiodicity

解决方案


你可能想绘制

imshow(np.tile(File1.T, (20,20)), extent=[-20,20,-20,20])

请参阅numpy.tile文档。


推荐阅读