Невозможно установить стиль линии позвоночника с помощью matplotlib - PullRequest
0 голосов
/ 15 февраля 2019

Я пытаюсь установить стиль линий колючек сюжета matplotlib, но по какой-то причине он не работает.Я могу сделать их невидимыми или сделать их тоньше, но я не могу изменить стиль линии.

no dotted spines

Моя цель - представить один участок, разрезанный на два, чтобы показать выбросы сверху,Я хотел бы установить соответствующие нижние / верхние шипы пунктирными, чтобы они четко показывали, что есть разрыв.позвоночник разбился.

Что мне не хватает?

1 Ответ

0 голосов
/ 16 февраля 2019

Во-первых, следует отметить, что если вы не измените ширину линии, пунктирный стиль будет отображаться нормально.

ax1.spines['bottom'].set_linestyle("dashed")

enter image description here

Однако интервал можетбыть слишком тугимЭто связано с тем, что capstyle по умолчанию имеет значение "projecting" для шипов.

Следовательно, вместо этого можно установить capstyle на "butt" (что также является значением по умолчанию для обычных линий на графиках),

ax1.spines['bottom'].set_linestyle('dashed')
ax1.spines['bottom'].set_capstyle("butt")

enter image description here

Или можно разделить тире дальше.Например,

ax1.spines['bottom'].set_linestyle((0,(4,4)))

enter image description here

Теперь, если вы также установите ширину линии на что-то меньшее, то вам потребуется пропорционально больший интервал.Например,

ax1.spines['bottom'].set_linewidth(.2)  
ax1.spines['bottom'].set_linestyle((0,(16,16))) 

enter image description here

Обратите внимание, что линия фактически не становится более тонкой на экране из-за использования сглаживания.Он просто смывается, так что становится светлее.Таким образом, в целом может иметь смысл сохранить ширину линии примерно в 0,72 точки (0,72 точки = 1 пиксель при 100 dpi) и вместо этого изменить цвет на светло-серый.

...