如何在 Python PyX 中隐藏轴文本
How do I hide the axis text in 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
,如 [=15= 的答案中所述]:
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")
你在这里保持轴刻度。如果你也想去掉刻度线,你可以一起禁用 painter 和 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 版本中添加这样的伙伴。
我只是想得到一个图表,但坐标轴上没有任何数字。 比方说:
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
,如 [=15= 的答案中所述]:
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")
你在这里保持轴刻度。如果你也想去掉刻度线,你可以一起禁用 painter 和 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 版本中添加这样的伙伴。