как увеличить масштаб Geographi c Проекции типа «молоток» с помощью matplotlib - PullRequest
0 голосов
/ 23 апреля 2020

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

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes
from mpl_toolkits.axes_grid1.inset_locator import mark_inset
import numpy as np

 fig = plt.figure(figsize=(12,7))
 ax = fig.add_subplot(111, projection = 'hammer')

 axins = zoomed_inset_axes(ax, 5, loc=1)
 axins.set_xlim(0, 0.2)
 axins.set_ylim(0, 0.2)

 plt.xticks(visible=False)
 plt.yticks(visible=False)

 px =10
 py =10
 pz =1

 l= 20

 lons = np.arctan2(-py,-px) 
 colats = np.arccos(-pz)

 lats = np.pi/2 - np.array(colats)

 lat0 = np.pi/2 

 lon0 = np.pi
 plt.scatter(lon0, lat0, marker='+', c='black', s=100)
 plt.scatter(lons, lats, marker='*', c='r', s=200, linewidths=0, 
 alpha=0.2, label= 'cosmic rays')
 plt.title("Sky map for zoom magnetic fields", size=30, position = 
 (0.54, 1.1), weight='bold')
 plt.grid(True)
 plt.legend(loc =4, fontsize=16)
 plt.xticks(fontsize=20)
 plt.yticks(fontsize=20)
 plt.show()

[введите описание изображения здесь] [Рисунок]

...