проекции matplotlib (mollweide, hammer ...), сюжет соединяет точки с (нежелательными) линиями - PullRequest
0 голосов
/ 23 ноября 2018

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

Я нашел способы избежать этой проблемы, используя plt.scatter (см. ниже маркеры в квадрате) или healpy, но так ли этоможно построить точки с помощью plt.plot без , соединенных линиями?Вот простой пример кода и его вывод:

from matplotlib import pyplot as plt
import numpy as np
fig = plt.figure()
plt.subplot(111, projection="mollweide")
x = np.array([-np.radians(120), 0, np.radians(120)])
y = np.array([0, np.radians(30), 0])
plt.plot(x, y, ',')
plt.scatter(x, y, marker=',')
plt.grid(), plt.show()
fig.savefig('example.png')

вывод:

mollweide projections of my points

РЕДАКТИРОВАНИЕ: где я использовал plt.scatter()чтобы показать возможный обходной путь (маркер должен быть персонализирован).

обратите внимание, что plt.plot(x,y,',') ведет себя так, как нужно, когда проекция не используется, как показано на следующем графике:
эталонный график без проекции
(где я нарисовал красные круги дляпокажите маленькие голубые пиксели, которые plt.plot() изображены по желанию).

Я хочу добиться этого с помощью plt.plot(), поскольку это должно быть быстрее для задач такого типа: Функция печати будет быстреедля диаграмм рассеяния, где маркеры не различаются по размеру или цвету. сказано на странице документации рассеяния (здесь)

EDIT_2: Это неповторяется, так как установка linestyle='None', как предложено в предложенном вопросе, не решает проблему, как никогда.Вероятно, это связано с тем, что « линий » не являются реальными линиями, а маркерами, нанесенными между точками, действующими как виртуальные линии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...