Beispiel #1
0
def make_and_plot_map(xymag, clustername, delta, maglim, step):
    size = "{0}x{0}".format(int(300*step))
    name = 'map_{3}_{0}_{1}_{2}.'.format(size, maglim, delta, clustername)
    sname = "Карта поверхностной плотности {0}:\nmaglim = {1}, h = {2}'".format(clustername, maglim, delta)
    make_map(xymag, delta, step, maglim, name+'txt')
    plot_map(name+'txt', name+'png', sname, show=True)
Beispiel #2
0
#!/usr/bin/python
import argparse
import numpy as np
from kde_map_functions import plot_map, make_map

parser = argparse.ArgumentParser(description='Программа для построение карты поверхностной плотности конкретного размера, параметра KDE и предельной звёздной величины')
parser.add_argument("infile", type=str, help='Имя входного файла, содержащего координаты и звёздные величины звёзд')
parser.add_argument("name", type=str, help="Название скопления (для заголовков графика)")
parser.add_argument("delta", type=float, help="Величина параметра KDE в угловых минутах")
parser.add_argument("maglim", type=float, help="Предельная звёздная величина звёзд, используемых в построении карты")
parser.add_argument("step", type=float, help="Размер шага в угловых минутах для построения карты, укажите 0.1, 0.2 или 0.4 для размеров карты 30'x30', 60'x60' или 120'x120' соответственно") 
args = parser.parse_args()

coord_in = args.infile
clustername = args.name
step = args.step
delta = args.delta
maglim = args.maglim

xymag_columnsnum = (0, 1, 13)
xymag = np.loadtxt(coord_in, comments='#', usecols=xymag_columnsnum)

size = "{0}x{0}".format(int(300*step))
name = 'map_{3}_{0}_{1}_{2}.'.format(size, maglim, delta, clustername)
sname = "Карта поверхностной плотности {0}:\nmaglim = {1}, h = {2}'".format(clustername, maglim, delta)
xydens = make_map(xymag, delta, step, maglim, name+'txt')
plot_map(xydens, name+'txt', name+'png', sname, show=True)
Beispiel #3
0
maxmags = [17, 18]
deltas = [6, 7]

#В колонках с этими номерами должны находиться соответсвующие величины
xymag_columns = (0, 1, 13)

print("""Выходные файлы будут выглядеть следующим образом: map_<имя скопления>_<размеры карты>_<предельная величина>_<параметр KDE>.[txt, png]
    Комбинированная карта (если требуется) будет в файле maps_<имя скопления>_<размеры карты>.png
    Построение займёт некоторое время (возможно даже много времени)...\n""")

xymag = np.loadtxt(coord_in, comments='#', usecols=xymag_columns)

for j in maxmags:
    for k in deltas:
        name = 'map_{3}_{0}_{1}_{2}.'.format(size, j, k, clustername)
        sname = "Карта поверхностной плотности {0}:\nmaglim = {1}m, h = {2}'".format(clustername, j, k)
        xydens = make_map(xymag, k, step, j, name+'txt')
        plot_map(xydens, name+'txt', name+'png', sname)

if args.combine:
    fig, axes = plt.subplots(len(maxmags), len(deltas), subplot_kw={'xticks': [], 'yticks': []})
    fig.subplots_adjust(left=0, bottom=0, right=1, top=1, wspace=0, hspace=0)
    img = []
    for i in maxmags:
        for j in deltas:
            img.append(mpimg.imread('map_{3}_{0}_{1}_{2}.png'.format(size, i, j, clustername)))
    for ax, image in zip(axes.flat, img):
        ax.axis('off')
        ax.imshow(image)
    fig.savefig('maps_{}_{}.png'.format(clustername, size), dpi=300, frameon=False)