当前位置: 首页 > 知识库问答 >
问题:

Matplotlib对齐刻度位置与图像像素边界

端木野
2023-03-14

我正在使用numpy生成图像,使用matplotlib可视化我关心的区域,然后使用枕头将它们保存为PNG。打印图像时,记号和标签以像素为中心,而不是以像素边界为中心:

有没有办法左/右对齐刻度和标签?我找到了有关移动标签的信息,但没有找到记号。

我还尝试使用axis接口与ax。少校:我的标签。设置_ha(“左”)ax。少校:我的标签。按此处所述设置_va(“top”),但无法使其正常工作。我希望代码>0<代码>在右边,<代码> 1 <代码>中间,但是我不能得到这个行为。

import matplotlib.pyplot as plt
from PIL import Image
import numpy as np

image_size = (2, 2)
data = np.zeros(image_size)
data[0][0] = 255
data[1][1] = 255
plt.xticks([0, 1])
plt.yticks([0, 1])
plt.imshow(Image.fromarray(data).convert("L"))
plt.show()

共有1个答案

冀耀
2023-03-14

以下是解决方案:

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt

image_size = (2, 2)
data = np.zeros(image_size)
data[0][0] = 255
data[1][1] = 255
x= [0,.5]
y= [0,.5]
labels = (0,1)
plt.xticks(x, labels)
plt.yticks(y, labels)
plt.imshow(Image.fromarray(data).convert("L"),extent = [0, 1,0 ,1])
plt.show()
 类似资料:
  • 将图稿与像素网格无缝对齐... 在 Illustrator CC 2017 版中引入 在 Illustrator 中,您可以创建像素级优化的图稿,在采用不同的笔触宽度和对齐选项时,这些图稿会在屏幕上显得明晰锐利。只需单击一次即可选择将现有对象与像素网格对齐,也可以在绘制新对象时对齐对象。当变换对象时,您可以保留像素对齐,而不会扭曲图稿。像素对齐适用于对象及其包含的单个路径段和锚点。与像素网格对齐前

  • 问题内容: 为什么不行?但是, 确实 可以。 问题答案: 实际上,在这种情况下,这非常简单:对图像应用垂直对齐。由于所有内容都在同一行中,因此它实际上是要对齐的图像,而不是文本。 在FF3中测试。 现在,您可以将flexbox用于这种类型的布局。

  • 问题内容: 我有一个包含图像和ap标签的div(如下所示)。我想根据段落的多少行在div的中间垂直对齐图像。垂直对齐不起作用。我现在正在使用JavaScript找出要添加到margin- top的数量,但是宁愿使用CSS。有任何想法吗? 问题答案: 尝试将元素的属性设置为图像的高度,例如: 编辑: 刚意识到我读错了问题,却错过了多行的事实。尝试的一种选择是完全删除元素,并将其设置为of的,使用的o

  • 问题内容: 我经常想制作一张条形图。如果计数较低,我经常会得到不是整数的主要和/或次要刻度位置。我该如何预防?计数数据时在1.5处打勾是没有意义的。 这是我的第一次尝试: 当计数较小时,它可以正常工作,但是当计数较大时,我得到许多次要的滴答声: 如何从第一个示例中获得少量的期望行为,同时避免第二个示例中发生的情况? 问题答案: 您可以使用该方法,如下所示:

  • 我经常想制作一个计数条形图。如果计数很低,我经常会得到不是整数的主要和/或次要刻度位置。我该如何防止这种情况?当数据是计数时,刻度为1.5是没有意义的。 这是我第一次尝试: 当计数很小时,它工作正常,但当计数很大时,我会得到许多小刻度: 如何在避免第二个示例中发生的情况的同时,从第一个示例中获得所需的少量行为?

  • 我正在创建一个用于学习目的的模拟时钟小部件,并想知道我如何可以做出一个设置布局来改变时钟刻度盘图像。我已经完成了小部件,但我似乎无法得到一个onclicklstener来调出设置布局。 这就是我所拥有的: