我试图在任意一个轴上绘制一个没有记号或数字的图形(我使用传统意义上的轴,而不是matplotlib术语!).我遇到的一个问题是matplotlib通过减go 一个值N,然后在轴的末端加上N来调整x(y)标签.

这可能有些含糊,但下面的简化示例突出了这个问题,其中‘6.18’是N的冒犯值:

import matplotlib.pyplot as plt
import random
prefix = 6.18

rx = [prefix+(0.001*random.random()) for i in arange(100)]
ry = [prefix+(0.001*random.random()) for i in arange(100)]
plt.plot(rx,ry,'ko')

frame1 = plt.gca()
for xlabel_i in frame1.axes.get_xticklabels():
    xlabel_i.set_visible(False)
    xlabel_i.set_fontsize(0.0)
for xlabel_i in frame1.axes.get_yticklabels():
    xlabel_i.set_fontsize(0.0)
    xlabel_i.set_visible(False)
for tick in frame1.axes.get_xticklines():
    tick.set_visible(False)
for tick in frame1.axes.get_yticklines():
    tick.set_visible(False)

plt.show()

我想知道的三件事是:

  1. 如何首先关闭这种行为(虽然在大多数情况下它很有用,但并不总是如此!)我翻了matplotlib.axis.XAxis遍,找不到合适的

  2. 如何使N消失(即X.set_visible(False))

  3. 有没有更好的方法来实现上述目标?如果相关的话,我的最终绘图将是图形中的4x4子地块.

推荐答案

您可以隐藏整个轴,而不是隐藏每个元素:

frame1.axes.get_xaxis().set_visible(False)
frame1.axes.get_yaxis().set_visible(False)

或者,您可以将勾号设置为空列表:

frame1.axes.get_xaxis().set_ticks([])
frame1.axes.get_yaxis().set_ticks([])

在第二个选项中,仍然可以使用plt.xlabel()plt.ylabel()向轴添加标签.

Python相关问答推荐

脚注在Python中使用regex导致错误匹配

如何使用函数正确索引收件箱?

如何对行使用分段/部分.diff()或.pct_change()?

收件箱转换错误- polars.exceptions. ComputeHelp- pandera(0.19.0b3)带有polars

Python panda拆分列保持连续多行

如何将桌子刮成带有Se的筷子/要求/Beautiful Soup ?

DuckDB将蜂巢分区插入拼花文件

使用GEKKO在简单DTE系统中进行一致初始化

优化在numpy数组中非零值周围创建缓冲区的函数的性能

多处理代码在while循环中不工作

为什么这个带有List输入的简单numba函数这么慢

如何在polars(pythonapi)中解构嵌套 struct ?

用Python解密Java加密文件

如何使用它?

如何在WSL2中更新Python到最新版本(3.12.2)?

组/群集按字符串中的子字符串或子字符串中的字符串轮询数据框

如何使Matplotlib标题以图形为中心,而图例框则以图形为中心

Python脚本使用蓝牙运行在Windows 11与raspberry pi4

手动设置seborn/matplotlib散点图连续变量图例中显示的值

如何在两列上groupBy,并使用pyspark计算每个分组列的平均总价值