gpt4 book ai didi

python - 为 AxesImage 自定义刻度?

转载 作者:太空狗 更新时间:2023-10-29 20:57:08 25 4
gpt4 key购买 nike

我用 ax = imshow() 创建了一个图像图。 ax 是一个 AxesImage 对象,但我似乎找不到自定义刻度标签所需的函数或属性。 ordinary pyplots似乎有 set_ticksset_ticklabels 方法,但这些似乎不适用于 AxesImage 类。有任何想法吗?谢谢~

最佳答案

就其值(value)而言,您有点误解了 imshow() 返回的内容,以及 matplotlib 轴的一般结构...

AxesImage 对象负责显示的图像(例如颜色图、数据等),但不负责图像所在的轴。它无法控制刻度和刻度标签等内容。

您要使用的是当前轴实例。

如果您使用pylab 接口(interface),您可以使用gca() 访问它,或者matplotlib.pyplot.gca如果您通过 pyplot 访问内容。但是,如果您使用其中任何一种,则可以使用 xticks() 函数来获取/设置 xtick 标签和位置。

例如(使用pylab):

import pylab
pylab.figure()
pylab.plot(range(10))
pylab.xticks([2,3,4], ['a','b','c'])
pylab.show()

使用更面向对象的方法(随机说明,matplotlib 的 getter 和 setter 很快就会变得烦人......):

import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(1,1,1) # Or we could call plt.gca() later...
im = ax.imshow(np.random.random((10,10)))
ax.set_xticklabels(['a','b','c','d']) # Or we could use plt.xticks(...)

希望一切都清楚一点!

关于python - 为 AxesImage 自定义刻度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3716339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com