【问题标题】:How to force matplotlib heatmap cells to be rectangular?如何强制 matplotlib 热图单元格为矩形?
【发布时间】:2021-10-25 10:21:25
【问题描述】:

我正在使用 pcolormesh 创建热图。

heatmap = plt.pcolormesh(
    grid,
    edgecolors="k",
    cmap=colors.ListedColormap(
        [
            "white",
            "red",
            "blue",
            "green",
            "orange",
            "black",
            "purple",
            "yellow",
            "brown",
            "violet",
            "gray",
        ]
    ),
    linewidth=2,
)
ax = plt.gca()
ax.set_aspect("auto")

我想将单元格形状设置为矩形。我该怎么做?

【问题讨论】:

  • “矩形”是什么意思?单元格必须是矩形

标签: python matplotlib heatmap


【解决方案1】:

我想你的意思是“方形”单元格,而不是“矩形”:

将纵横比设置为 1:ax.set_aspect(1)

aspect 定义了 Y/X 比率,因此具有两倍高的单元格:ax.set_aspect(2)

两倍宽:ax.set_aspect(1/2)

【讨论】:

  • 现在我已经使用默认视图中的热图图像更新了我的帖子,我想强制每个单元格为矩形。单元格根据纵横比改变它们的形状,即当我扩大窗口大小时,它们可以是矩形的,但我希望它们在任何窗口形状中都是矩形的。
  • 是的,但是矩形如何?单元格总是矩形的(不是圆形、三角形……)
  • 非常感谢,ax.set_aspect(1/2) 为我解决了问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-22
  • 2020-10-27
  • 2012-08-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多