【发布时间】:2013-08-06 13:22:03
【问题描述】:
我正在尝试得到这样的东西(图像完全填充了红色方块(我只画了几个)):。扩展我想要的内容:我希望红色方块居中在黄色方块中,如图所示(但所有黄色方块中都有红色方块)。
发生的情况是较大的窗口(黄色网格)彼此重叠一半大小,在这种情况下,较小的窗口(大窗口大小的一半)(红色正方形)以中心为中心的大窗户。我能得到的最远的是使用这个Multiple grids on matplotlib 我基本上是在使用他们的代码,但是为了让事情绝对清楚,我包含了代码:
编辑:感谢罗格斯大学,我得到了我想要的。这是一个稍微编辑和缩短的版本。这段代码给出了我想要的四个黄色网格交叉点的第一个中心。
import matplotlib.pyplot as plt
from matplotlib.pyplot import subplot
from scipy.misc import imread
import numpy as np
import matplotlib.cm as cmps
import matplotlib.collections as collections
i = 1
initial_frame = 1
ax = subplot(111)
bg = imread("./png/frame_" + str("%05d" % (i + initial_frame) ) + ".png").astype(np.float64)
# define the normal (yellow) grid
ytcks = np.arange(16,bg.shape[0],32)
xtcks = np.arange(16,bg.shape[1],32)
# plot the sample data
ax.imshow(bg, cmap=plt.cm.Greys_r, interpolation='none')
ax.set_xticks(xtcks)
ax.set_xticks(xtcks+16, minor=True)
ax.set_yticks(ytcks)
ax.set_yticks(ytcks+16, minor=True)
ax.xaxis.grid(True,'minor', linestyle='--', lw=1., color='y')
ax.yaxis.grid(True,'minor', linestyle='--', lw=1., color='y')
ax.xaxis.grid(True,'major', linestyle='--', lw=0.5, color='g')
ax.yaxis.grid(True,'major', linestyle='--', lw=0.5, color='g')
plt.show()
【问题讨论】:
-
你用什么代码来制作图像?如果您不想使用标准网格选项,则可能多边形集合会起作用。它的工作量更大,但非常灵活。
-
对我来说,不清楚你想要实现什么。你应该写得更清楚,这样更容易理解你的意思。此外,您应该包含到目前为止的代码,即使它没有为您提供所需的输出。现在,您要求其他人为您完成所有工作(因为您没有包含任何代码) - 如果您表明您已经付出了一些努力来尝试自己解决问题,那么您更有可能得到好的答案。
-
@nordev。抱歉,我一直认为它已经足够清楚了,并且由于我链接了我正在使用的内容,我不想用代码向问题发送垃圾邮件。我试图尽可能明确地表达我想要的东西(这真的很简单,只需将较小的正方形放在大正方形的中间即可)。现在这是一个更清楚的问题吗:)?不太确定如何让它变得更好......
-
@Rutger Kassies。你的意思是stackoverflow.com/questions/15968762/… 吗?
标签: python matplotlib