Python PyX图:更改轴刻度文本颜色

时间:2018-05-25 10:20:59

标签: python plot pyx

我在Python中使用python进行绘图

 g = graph.graphxy(width=8,
              x=graph.axis.log(min=1e-1, max=1e4, title=r"$x$-axis"),
              y=graph.axis.lin(max=5, title=r"$y$-axis"))
 g.plot(graph.data.function("y(x)=tan(log(1/x))**2"))
 g.writeEPSfile("axis")

如何将刻度线保持为黑色,但将刻度线文本的颜色(即y轴上的数字0,1,2,3,4,5)更改为白色?

或者,甚至更好。如何删除刻度文本(即y轴上的数字0,1,2,3,4,5)但保留刻度线?

1 个答案:

答案 0 :(得分:1)

要在绘制标签时更改文本样式,您需要将labelattrs传递给画家:

painter=graph.axis.painter.regular(labelattrs=[color.grey.white])

由于所有轴(通常)都使用常规画家,因此可以将此代码/设置传递给线性轴和对数轴。

画家也可用于禁用标签。您可以将labelattrs设置为None,这将跳过绘制标签。这很好,并且在构建轴的过程中发生得相当晚。另一种选择是传递非默认的parter来禁用/改变自动轴刻度和标签的创建。同样,将None传递给标签设置会禁用标签。但是,要使此类代码正常工作,您需要对线性和日志轴进行不同的设置,因为它们使用不同的轴分配器。所以设置画家的labelattrs肯定是最容易的,即使它有点快速和肮脏。