Python PyX 绘图:更改坐标轴刻度文本颜色
Python PyX plot: change axes tick text color
我在 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)但保留刻度线?
要在绘制标签时更改文本样式,您需要将 labelattrs 传递给画家:
painter=graph.axis.painter.regular(labelattrs=[color.grey.white])
由于所有轴(通常)都使用常规画家,因此 code/setting 可以同时传递给线性轴和对数轴。
画家也可以用来禁用标签。您可以将 labelattrs 设置为 None,这将跳过绘制标签。这很好,并且在构建轴的过程中发生得相当晚。另一种选择是将非默认合作伙伴传递给 disable/alter 自动轴刻度和标签的创建。在这里,再次将 None 传递给标签设置会禁用标签。但是,为了使此类代码正常工作,您需要对线性轴和对数轴进行不同的设置,因为它们使用不同的轴分度器。所以设置 painter 的 labelattrs 无疑是最简单的,尽管它有点快速和肮脏。
我在 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)但保留刻度线?
要在绘制标签时更改文本样式,您需要将 labelattrs 传递给画家:
painter=graph.axis.painter.regular(labelattrs=[color.grey.white])
由于所有轴(通常)都使用常规画家,因此 code/setting 可以同时传递给线性轴和对数轴。
画家也可以用来禁用标签。您可以将 labelattrs 设置为 None,这将跳过绘制标签。这很好,并且在构建轴的过程中发生得相当晚。另一种选择是将非默认合作伙伴传递给 disable/alter 自动轴刻度和标签的创建。在这里,再次将 None 传递给标签设置会禁用标签。但是,为了使此类代码正常工作,您需要对线性轴和对数轴进行不同的设置,因为它们使用不同的轴分度器。所以设置 painter 的 labelattrs 无疑是最简单的,尽管它有点快速和肮脏。