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

在matplotlib中将x轴移动到绘图顶部

谢唯
2023-03-14
import matplotlib.pyplot as plt
import numpy as np
column_labels = list('ABCD')
row_labels = list('WXYZ')
data = np.random.rand(4,4)
fig, ax = plt.subplots()
heatmap = ax.pcolor(data, cmap=plt.cm.Blues)

# put the major ticks at the middle of each cell
ax.set_xticks(np.arange(data.shape[0])+0.5, minor=False)
ax.set_yticks(np.arange(data.shape[1])+0.5, minor=False)

# want a more natural, table-like display
ax.invert_yaxis()
ax.xaxis.set_label_position('top') # <-- This doesn't work!

ax.set_xticklabels(row_labels, minor=False)
ax.set_yticklabels(column_labels, minor=False)
plt.show()

我做错了什么?

共有1个答案

葛胜泫
2023-03-14

使用

ax.xaxis.tick_top()

若要将刻度线放置在图像的顶部,请执行以下操作。命令

ax.set_xlabel('X LABEL')    
ax.xaxis.set_label_position('top') 

影响标签,而不是刻度线。

import matplotlib.pyplot as plt
import numpy as np
column_labels = list('ABCD')
row_labels = list('WXYZ')
data = np.random.rand(4, 4)
fig, ax = plt.subplots()
heatmap = ax.pcolor(data, cmap=plt.cm.Blues)

# put the major ticks at the middle of each cell
ax.set_xticks(np.arange(data.shape[1]) + 0.5, minor=False)
ax.set_yticks(np.arange(data.shape[0]) + 0.5, minor=False)

# want a more natural, table-like display
ax.invert_yaxis()
ax.xaxis.tick_top()

ax.set_xticklabels(column_labels, minor=False)
ax.set_yticklabels(row_labels, minor=False)
plt.show()
 类似资料:
  • 本文向大家介绍如何在JavaFX折线图中将x轴移到顶部?,包括了如何在JavaFX折线图中将x轴移到顶部?的使用技巧和注意事项,需要的朋友参考一下 内联图,数据值已表示由一条线连接的一系列点。在JavaFX中,可以通过实例化javafx.scene.chart.LineChart类来创建折线图。 默认, JavaFX折线图包含沿x轴指出系列中的值的符号。通常,这些是小圆圈。 图底部的X轴。 左侧的

  • 我不熟悉plotly,我有一些start=int和finish=int(以抽象时间单位)的任务。但x轴默认为日期格式。我想将x轴设置为数字格式(0,1,2…) 这是我的代码: df看起来像: 任何建议!

  • 我熟悉以下问题: Matplotlib savefig,在绘图外带有图例 如何把传说从情节中剔除 这些问题的答案似乎有一种奢侈,能够摆弄轴的精确收缩,以便传说符合。 然而,缩小轴并不是一个理想的解决方案,因为它使数据更小,实际上更难解释;特别是当它很复杂而且有很多事情发生的时候。。。因此需要一个大的传说 文档中复杂图例的示例说明了这一点的必要性,因为其绘图中的图例实际上完全掩盖了多个数据点。 ht

  • 问题内容: 我正在尝试根据日期绘制信息。我有日期列表,格式为“ 01/02/1991”。 我通过执行以下操作来转换它们: 这使 然后我尝试使用num2date 绘图: 但是我得到一个错误。它显示“ ValueError:年份超出范围”。有什么办法吗? 问题答案: 就像@KyssTao所说的那样,必须是一个浮点数,其中要给出从0001-01-01开始的天数加一。因此,它不是1991年1月2日,因为如

  • 我正在尝试使用PyQt4中的matplotlib绘图库来绘制日志绘图。我在类中添加了两行代码: 但后来轴消失了,下面出现了一个错误。我想问您如何使用PyQt4中的matplotlib库来绘制loglot plot。如下图所示。Python 2.7。5,matplotlib 1.3。0,PyQt 4.10。4.

  • 问题内容: 我在同一张图上绘制了多个seaborn点图。x轴是序数,而不是数字。每个点图的序数值都相同。我想将每个图稍微移到一边,pointplot(dodge = …)参数的方式是在单个图内的多条线内进行,但是在这种情况下,是要在彼此之上绘制多个不同图。我怎样才能做到这一点? 理想情况下,我想要一种适用于任何matplotlib图的技术,而不仅仅是专门针对海洋的技术。由于数据不是数字,因此很难为