Подтвердить что ты не робот

Как изменить ширину рамки маркера и ширину штриховки?

В этом примере маркера из моего графика рассеяния я установил цвет в зеленый, а цвет края - в черный, а штрих - на "|". Чтобы шаблон штриховки отображался вообще, я должен установить edgecolor, однако, когда я это делаю, у меня очень толстая граница вокруг маркера. Два вопроса:

1) Как установить размер этой границы (желательно до 0)?

2) Как увеличить толщину линий штриховки?

http://img204.imageshack.us/img204/9730/markerp.png

Спасибо!

4b9b3361

Ответ 1

  • Вам просто нужно установить linewidth для управления толщиной границы маркера.
  • Вы можете увеличить плотность штриховки, повторив символы (в приведенном ниже примере в области R/H повторяется '|', обратите внимание, что для получения диагональных линий NW- > SE символ должен быть экранирован, поэтому необходимо в два раза больше символов, чтобы действительно удвоить его - '\\\\' - плотность 2, а '||||' - плотность 4). Тем не менее, я не думаю, что толщина отдельных линий внутри штриховки контролируема.

См. пример кода ниже, чтобы получить диаграммы рассеяния, такие как: example hatching control

import matplotlib.pyplot as plt
# generate some data
x = [1,2,3,4,5,8]
y= [i**2 for i in x]
y2= [60-i**2+3*i for i in x]

# plot markers with thick borders
plt.subplot(121)
plt.scatter(x,y, s=500, marker='s', edgecolor='black', linewidth='3', facecolor='green', hatch='|')
# compare with no borders, and denser hatch.
plt.subplot(122)
plt.scatter(x,y, s=500, marker='s', edgecolor='black', linewidth='0', facecolor='green', hatch='||||')

plt.show()

Документация matplotlib на collections и scatter.