python - 如何在 Python PyX 中隐藏轴文本

标签 python plot pyx

我只是想得到一个图表,但轴上没有任何数字。 比方说:

from math import pi
from pyx import *

g = graph.graphxy(width=8)
g.plot(graph.data.paramfunction("k", 0, 2*pi, "x, y = sin(2*k), cos(3*k)"))
g.writePDFfile("lissajous")

如何去掉轴标签?

最佳答案

要删除轴标签处的文本,最简单的解决方案是将轴绘制器的 labelattrs 设置为 None,如答案中所述Python PyX plot: change axes tick text color :

from math import pi
from pyx import *

a = graph.axis.linear(painter=graph.axis.painter.regular(labelattrs=None))
g = graph.graphxy(width=8, x=a, y=a)
g.plot(graph.data.paramfunction("k", 0, 2*pi, "x, y = sin(2*k), cos(3*k)"))
g.writePDFfile("lissajous")

您可以在此处保留轴刻度。如果您还想删除刻度线,则可以同时禁用画家和 linkedpainter(否则您将把轴保留在图表的另一侧,仅显示刻度线):

from math import pi
from pyx import *

a = graph.axis.linear(painter=None, linkpainter=None)
g = graph.graphxy(width=8, x=a, y=a)
g.plot(graph.data.paramfunction("k", 0, 2*pi, "x, y = sin(2*k), cos(3*k)"))
g.writePDFfile("lissajous")

然而,这意味着您完全失去了轴。一个简单的解决方法是向图表中添加一个 backgroundattrs=[deco.stroked()] ,尽管从技术上来说,这是非常不同的,而且有点错误。

不幸的是,整个轴分区计算一直在运行,这也意味着它将根据数据范围不断扩展轴范围。出路应该是使用最简单的轴方案,在轴范围的开头和结尾处带有标签和刻度,然后禁用它们。这可能在所有类型的简单情况下都很方便,但我们没有这种有线方式。我将在未来的 PyX 版本中添加这样的合作伙伴。

关于python - 如何在 Python PyX 中隐藏轴文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51105496/

相关文章:

R中的旋转 Axis 标签

python - 更改Python的日期时间模块中的年份开始时间?

python - plotly 破折号 : Display a variable inside Markdown text

python - 如何将 AWS 证书与 python 请求库一起使用?

python - 如何绘制文本 K 均值聚类的结果?

python - 如何从外部托管源 pip 安装 pyx 包?

python - 计算 Pandas 中每个 id 的不同日期出现次数

r - 在 R 中向自动绘图添加线条

python - pyx 模块 : how to make color transparent

python - 使用 Pyx 绘制大括号