2016-07-14 3 views
-3

Я использую язык программирования Python. Я хочу начертить фигуру в виде круга. Но я не могу найти способ сделать это. Прилагаю пример изображения (png), что я хочу (круг-крест). На всякий случай, что присоединение не удалось, позвольте мне описать форму, которую я хочу. Здесь «круг-крест» означает, что знак плюса находится в круге («плюс» + «круг»), он выглядит как прицельная метка пистолета или ружья. Любые комментарии приветствуются! Спасибо за чтение.Как построить круг-крест в python? + oplus

О комментарии SiHa, если вы видите два дополнительных изображения, которые я только что загрузил, есть две синие фигуры, а светлый «круг» сделан из задачи plt.Circle(), а тяжелый «oplus» сделан из задачи plt.plot(~~, marker=r'$\oplus$') , Как вы видите здесь, размер oplus изменяется, изменяя точку обзора (я имею в виду масштабирование). Размер круга должен быть фиксированным и не может меняться, потому что это абсолютное значение, которое я дал ему начальное значение в первую очередь. Но маркер меняется, потому что это «маркер». Я хочу построить oplus на фигуре, подобной задаче plt.Circle, а не как маркер. Спасибо SiHa.

Исходное изображение:

enter image description here

Увеличить версия оригинального рисунка

enter image description here

+3

Существует множество графических библиотек, в которых вы можете выполнить свое требование. Это, безусловно, возможно в matplotlib. Единственное, что у них общего, это то, что все они требуют от вас написать код. Вы сами что-то пробовали? – SiHa

+0

Я забирал по поиску. Но все же я не могу найти решение. В дополнение к исходному вопросу, я не имею в виду символ как маркер. Я хочу, чтобы символ «круг-крест или oplus» отображался как задание «plt.Circle()», которое рисует круг (из курсовой, я хочу, oplus) на фигуре. Я нашел некоторые решения по googling, и один из них - «plt.plot (x, y, marker = r '$ \ oplus $')». Но этого я не хочу.Поскольку это решение не может исправить размер символа (круг-крест). Например, размер символа будет изменен при изменении предела оси x-y (plt.xlim & plt.ylim). Спасибо за комментарии. – DWon

+0

Размер * все * будет изменен, если вы измените пределы осей. Такова природа matplotlib. Если вы хотите что-то, на котором будет фигурировать фиксированный размер, используйте другую библиотеку. – SiHa

ответ

0

Давайте предположим, что мы хотим построить в oplus, что радиус составляет 1,5 в (2, 3) по оси xy. Мое решение - это следующие строки.

Импорт модуля, в котором мы нуждаемся.

import matplotlib.pyplot as plt

выскакивают пустой рисунок.

fig=plt.figure() ax1=fig.add_subplot(1, 1, 1)

Это делает пустой круг в фигуре.

Cir1=plt.Circle((2,3), radius=0.5*3, fill=False) ax1.add_patch(Cir1)

Это делает крест знак пустой круг.

plt.vlines(2, 3+(0.5*3), 3-(0.5*3), linestyle='-') plt.hlines(3, 2+(0.5*3), 2-(0.5*3), linestyle='-')

увидеть делается ли это или нет.

plt.grid(False)

Вот так. Спасибо.

Смежные вопросы