如何在 Python 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 图的答案中所述: 更改轴刻度文本颜色:

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")

你在这里保持轴刻度。如果你也想去掉刻度,你可以完全禁用画家,也可以禁用链接画师(否则你将把轴保留在图表的另一侧,只显示刻度(:

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 版本中添加这样的部分。

相关内容

  • 没有找到相关文章

最新更新