Python Pyx plot: изменение расстояния между точками в пунктирной линии - PullRequest
0 голосов
/ 31 мая 2018

У меня есть график в модуле Pyx с Python:

 g = graph.graphxy(width=8,
              x=graph.axis.linear(min=0, max=2),
              y=graph.axis.linear(min=0, max=2),
              )

 g.plot([graph.data.function("x(y)=y**4")],
   [graph.style.line([style.linestyle.dotted])])

 g.writeEPSfile("plot")

Как изменить расстояние между точками в пунктирной линии?

1 Ответ

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

Просто используйте ваши собственные настройки стиля линии:

c = canvas.canvas()
c.stroke(path.line(0, 0, 10, 0), [style.linestyle(style.linecap.round, style.dash([0, 2]))])
c.stroke(path.line(0, -1, 10, -1), [style.linestyle(style.linecap.round, style.dash([0, 4]))])
c.stroke(path.line(0, -2, 10, -2), [style.linestyle(style.linecap.round, style.dash([0, math.pi])), style.linewidth(0.1)])
c.writePDFfile(page_bboxenlarge=1)

Первая строка идентична style.linestyle.dotted, вторая использует удвоенное расстояние между точками, а третья показывает плавающее как расстояниеи изменяет ширину линии.Обратите внимание, что ширина линии определяет размер точек, а также изменяет расстояние между точками, так как значения штрихов масштабируются по ширине линии.Пунктирная линия строится пунктирной линией с нулевой длиной штрихов и style.linecap.round в качестве параметра ограничения строки.

Обратите внимание, что сначала применяется ширина линии (порядок атрибуции ... что-то не очень хорошо задокументировано).

...