Развертывание картезианского набора данных в полярные координатыPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Развертывание картезианского набора данных в полярные координаты

Сообщение Anonymous »

У меня есть набор данных о событиях, соответствующих декартовому набору координат < /p>
[[ 0. 0. 0. 0. 0. 0. 2. 5. 2. 3. 3. 0. 0. 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0. 4. 10. 9. 7. 10. 6. 6. 0. 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 9. 12. 10. 11. 14. 13. 11. 12. 6. 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 12. 16. 17. 14. 13. 14. 13. 12. 12. 6. 0. 0. 0. 0.]
[ 0. 0. 10. 11. 0. 14. 18. 16. 14. 18. 16. 14. 13. 0. 9. 0. 0. 0.]
[ 0. 7. 10. 13. 13. 16. 16. 15. 14. 16. 13. 16. 13. 13. 13. 7. 0. 0.]
[ 1. 6. 15. 14. 17. 14. 13. 13. 14. 15. 1. 13. 13. 12. 12. 7. 2. 0.]
[ 5. 13. 11. 14. 12. 14. 14. 16. 16. 16. 12. 1. 12. 14. 12. 9. 5. 0.]
[ 2. 11. 11. 16. 13. 17. 15. 14. 0. 14. 14. 13. 13. 16. 10. 9. 6. 1.]
[ 4. 11. 13. 12. 14. 14. 16. 16. 14. 18. 16. 1. 14. 12. 12. 11. 5. 1.]
[ 1. 7. 10. 11. 13. 14. 1. 19. 15. 19. 1. 1. 14. 14. 11. 10. 1. 0.]
[ 0. 5. 10. 15. 14. 15. 16. 1. 14. 1. 1. 16. 12. 13. 10. 5. 0. 0.]
[ 0. 0. 7. 12. 16. 15. 13. 17. 14. 16. 14. 14. 14. 14. 7. 0. 0. 0.]
[ 0. 0. 0. 7. 0. 14. 14. 15. 16. 16. 14. 11. 13. 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 8. 12. 14. 12. 14. 10. 11. 12. 7. 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0. 8. 8. 11. 9. 9. 10. 5. 0. 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0. 0. 4. 3. 7. 6. 3. 0. 0. 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0. 0. 0. 2. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0.]]
< /code>
Таким образом, координата (x, y) соответствует корзину [x, y]. Некоторые ячейки не предоставляют полезную информацию и не устанавливаются. (Ячейка обнаружения сломана). Набор данных кажется примерно круглым. Чтобы проверить это, я хочу показать этот набор данных с COS (PHI) на оси x и радиусом из центра (8, 8) на оси Y. < /p>
Минимальный воспроизводимый пример показывает набор данных в картезианских координатах: < /p>
import numpy as np

binned_data = np.asarray(
[[ 0., 0., 0., 0., 0., 0., 2., 5., 2., 3., 3., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 4., 10., 9., 7., 10., 6., 6., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 9., 12., 10., 11., 14., 13., 11., 12., 6., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 12., 16., 17., 14., 13., 14., 13., 12., 12., 6., 0., 0., 0., 0.],
[ 0., 0., 10., 11., 0., 14., 18., 16., 14., 18., 16., 14., 13., 0., 9., 0., 0., 0.],
[ 0., 7., 10., 13., 13., 16., 16., 15., 14., 16., 13., 16., 13., 13., 13., 7., 0., 0.],
[ 1., 6., 15., 14., 17., 14., 13., 13., 14., 15., 1., 13., 13., 12., 12., 7., 2., 0.],
[ 5., 13., 11., 14., 12., 14., 14., 16., 16., 16., 12., 1., 12., 14., 12., 9., 5., 0.],
[ 2., 11., 11., 16., 13., 17., 15., 14., 0., 14., 14., 13., 13., 16., 10., 9., 6., 1.],
[ 4., 11., 13., 12., 14., 14., 16., 16., 14., 18., 16., 1., 14., 12., 12., 11., 5., 1.],
[ 1., 7., 10., 11., 13., 14., 1., 19., 15., 19., 1., 1., 14., 14., 11., 10., 1., 0.],
[ 0., 5., 10., 15., 14., 15., 16., 1., 14., 1., 1., 16., 12., 13., 10., 5., 0., 0.],
[ 0., 0., 7., 12., 16., 15., 13., 17., 14., 16., 14., 14., 14., 14., 7., 0., 0., 0.],
[ 0., 0., 0., 7., 0., 14., 14., 15., 16., 16., 14., 11., 13., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 8., 12., 14., 12., 14., 10., 11., 12., 7., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 8., 8., 11., 9., 9., 10., 5., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 4., 3., 7., 6., 3., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 2., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0.]]
)/12

binned_data[4][4] = None
binned_data[-5][-5] = None

binned_data[4][-5] = None
binned_data[-5][4] = None

binned_data[8][8] = None

#Broken Cells
binned_data[6, 10] = None
binned_data[10, 6] = None
binned_data[7, 11] = None
binned_data[11, 7] = None
binned_data[11, 9] = None
binned_data[11, 10] = None
binned_data[10, 11] = None
binned_data[9, 11] = None
binned_data[10, 10] = None

from matplotlib import pyplot as plt
from matplotlib.patches import Circle

fig, ax = plt.subplots()
plt.pcolor(binned_data)
plt.colorbar(label = "Count per hour")

circle = Circle((8.5, 8.5), 8, edgecolor='red', facecolor='none', linewidth=1)
ax.add_patch(circle)

circle = Circle((8.5, 8.5), 6, edgecolor='red', facecolor='none', linewidth=1)
ax.add_patch(circle)

plt.show()
< /code>
Моя проблема меньше с самим кодом, а больше о том, чтобы обернуть мою голову вокруг проблемы. Любая помощь будет очень заметна.

Подробнее здесь: https://stackoverflow.com/questions/797 ... oordinates
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»