Python Роза ветров дает ошибку Affine2dbase - PullRequest
0 голосов
/ 28 апреля 2020

Здесь я пробую простой пример python windrose Пример Windrose Notebook с использованием Anaconda2. Но я получаю сообщения об ошибке «TypeError: unbound method __init__() must be called with Affine2DBase instance as first argument (got Affine2D instance instead)» при запуске простого кода ниже

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

ws = np.random.random(500) * 6
wd = np.random.random(500) * 360
ax = WindroseAxes.from_ax()

Я пытаюсь понять информацию о affine2dbase, которую я нашел в Интернете, но подумал, что это может быть проблема с моим matplotlib установки? Вот версии, которые я использую

    matplotlib                2.2.3            py27h263d877_0
    matplotlib-base           2.2.5            py27h6595424_1    conda-forge
    windrose                  1.6.7                      py_1    conda-forge
    ipython                   5.8.0                    py27_0

, и вот информация установки conda для установки windrose от имени администратора:

(base) C:\WINDOWS\system32>conda install -c conda-forge windrose
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\Users\Student\Anaconda2

  added / updated specs:
    - windrose


The following NEW packages will be INSTALLED:

  python_abi         conda-forge/win-64::python_abi-2.7-1_cp27m

The following packages will be UPDATED:

  conda                       pkgs/main::conda-4.8.3-py27_0 --> conda-forge::conda-4.8.3-py27h8c360ce_1


Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done

Буду признателен за информацию о том, как исправить windrose, чтобы я мог запустите пример basi c или как я могу смягчить ошибку affine2d. Спасибо

1 Ответ

1 голос
/ 29 апреля 2020

В соответствии с предложением @fyberoptik, решение было использовать pip install windrose в приглашении conda. Хотя в приглашении anaconda ничего не меняется, теперь windrose отображает данные испытаний и мои собственные данные.

(base) C:\Users\Student>pip install windrose
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Requirement already satisfied: windrose in c:\users\student\anaconda2\lib\site-packages (1.6.7)
    Requirement already satisfied: numpy in c:\users\student\anaconda2\lib\site-packages (from windrose) (1.16.5)
    Requirement already satisfied: matplotlib in c:\users\student\anaconda2\lib\site-packages (from windrose) (2.2.5)
    Requirement already satisfied: cycler>=0.10 in c:\users\student\anaconda2\lib\site-packages (from matplotlib->windrose) (0.10.0)
    Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in c:\users\student\anaconda2\lib\site-packages (from matplotlib->windrose) (2.4.2)
    Requirement already satisfied: python-dateutil>=2.1 in c:\users\student\anaconda2\lib\site-packages (from matplotlib->windrose) (2.8.0)
    Requirement already satisfied: pytz in c:\users\student\anaconda2\lib\site-packages (from matplotlib->windrose) (2019.3)
    Requirement already satisfied: six>=1.10 in c:\users\student\anaconda2\lib\site-packages (from matplotlib->windrose) (1.12.0)
    Requirement already satisfied: kiwisolver>=1.0.1 in c:\users\student\anaconda2\lib\site-packages (from matplotlib->windrose) (1.1.0)
    Requirement already satisfied: backports.functools_lru_cache in c:\users\student\anaconda2\lib\site-packages (from matplotlib->windrose) (1.5)
    Requirement already satisfied: setuptools in c:\users\student\anaconda2\lib\site-packages (from kiwisolver>=1.0.1->matplotlib->windrose) (41.4.0)

, используя стандартный пример:

ws = np.random.random(500) * 6
wd = np.random.random(500) * 360
ax = WindroseAxes.from_ax()
ax.bar(wd, ws)

enter image description here

...