пользовательское масштабирование питона роза ветров - PullRequest
0 голосов
/ 12 июня 2018

Я пытаюсь сравнить розы ветров в питоне, но это сложно, потому что я не могу понять, как сделать одинаковый масштаб для всех графиков.Кто-то еще задавал тот же вопрос здесь Пользовательская процентная шкала, используемая windrose.py , но на него не было ответа.

Пример кода:

from windrose import WindroseAxes
import numpy as np
import matplotlib.pyplot as plt

wind_dir = np.array([30,45,90,43,180])
wind_sd = np.arange(1,wind_dir.shape[0]+1)
bins_range = np.arange(1,6,1) # this sets the legend scale
fig,ax = plt.subplots()
ax = WindroseAxes.from_ax()

bin_range ниже устанавливает шкалу баров, но мне нужно изменить шкалу частоты оси Y, чтобы ее можно было сравнивать с другими розами ветров с другими данными.

ax.bar(wind_dir,wind_sd,normed=True,bins=bins_range) 

этот set_ylim, кажется, работает, но тики яксис не меняются

ax.set_ylim(0,50)

эта строка set_ticks ниже ничего не делает, и я не знаю, почему

ax.yaxis.set_ticks(np.arange(0,50,10))

ax.set_legend()
plt.show()

1 Ответ

0 голосов
/ 13 июня 2018
from windrose import WindroseAxes
import numpy as np
import matplotlib.pyplot as plt

wind_dir = np.array([30,45,90,43,180])
wind_sd = np.arange(1,wind_dir.shape[0]+1)
bins_range = np.arange(1,6,1) # this sets the legend scale

ax = WindroseAxes.from_ax()
ax.bar(wind_dir,wind_sd,normed=True,bins=bins_range)
ax.set_yticks(np.arange(10, 60, step=10))
ax.set_yticklabels(np.arange(10, 60, step=10))
plt.show()

enter image description here

...