Swift 4 - Как заставить функцию установить переменную вне этой функции

Чтобы покрасить ваши черные линии сетки, вы можете использовать ключевое слово color=:

ax.gridlines(color='black')

Чтобы указать размещение сетки lat / lon, вам действительно понадобятся только несколько дополнительных строк, если вы не используете уход за ярлыками:

import matplotlib.ticker as mticker

gl = ax.gridlines(color='black')
gl.xlocator = mticker.FixedLocator([-180, -90, 0, 90, 180])
gl.ylocator = mticker.FixedLocator([-90,-45,0,45,90])

(С точки зрения написания этого, проекции Робинсона не поддерживают метки сетки .)

Чтобы наложить ваши данные на карта, pcolor должна работать, но это классно медленно. Я бы порекомендовал pcolormesh, хотя вы можете заменить один на другой в этом синтаксисе:

ax.pcolormesh(lon_values, lat_values, data)

Обратите внимание, что если ваши данные имеют другую проекцию, чем проекция карты, которую вы рисуете (обычно это правда) , вам необходимо указать проекцию данных в синтаксисе построения, используя ключевое слово transform=. Это говорит о том, что картография преобразует ваши данные с их первоначальной проекции в карту карты. Пластина Carrée такая же, как цилиндрический эквидистант (типичный для выхода модели климата, например):

ax.pcolormesh(lon_values, lat_values, data, transform=ccrs.PlateCarree())
0
задан QuantamPulse 19 January 2019 в 02:52
поделиться

1 ответ

Итак, в Swift мы все еще можем перейти по ссылке. Это позволяет туда, где наши параметры являются изменяемыми, потому что в случае по умолчанию, таком как ваш, они являются let переменными и не являются изменяемыми.

То, что мы можем сделать, это,

attackTarget(attacker: alexRider, enemy: &enemyTwo)

, а также,

func attackTarget(attacker player: Player, enemy target: inout Enemy) {

Вы можете видеть здесь, inout аналогичен тому, что передается по ссылке переменная в C, мы просто должны сообщить об этом компилятору Swift. Это позволит вашей переменной изменять собственные переменные.

0
ответ дан impression7vx 19 January 2019 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: