1

我在 python 中的 PyX 中有绘图

 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)但保留刻度线?

4

1 回答 1

1

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

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

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

画家也可以用来禁用标签。您可以将 labelattrs 设置为 None,这将跳过绘制标签。这很好,并且在构建轴的过程中发生得相当晚。另一种选择是传递一个非默认部分来禁用/更改自动轴刻度和标签的创建。在这里,再次将 None 传递给标签设置会禁用标签。但是,要使此类代码正常工作,您需要对线性轴和对数轴进行不同的设置,因为它们使用不同的轴部件。所以设置画家的标签当然是最简单的,即使它有点快和肮脏。

于 2018-05-26T02:57:50.430 回答