Как скрыть текст оси в Python PyX - PullRequest
0 голосов
/ 29 июня 2018

Я просто пытаюсь получить график, но без чисел на осях. Допустим,

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

Как избавиться от меток осей?

1 Ответ

0 голосов
/ 30 июня 2018

Чтобы избавиться от текста на метке оси, самое простое решение - установить labelattrs средства рисования осей на None, как обсуждалось в ответе Python PyX plot: поменяйте галочку осей цвет текста :

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.

...