Как мне не дать меткам для моего графика находиться внутри графика? - PullRequest
0 голосов
/ 13 марта 2019

Я создал функцию для создания графика паука / радара, но столкнулся с ошибкой.

Эта строка вызывает у меня проблемы:

ax.set_thetagrids(angles * 180/np.pi, labels = labels, color='blue', frac=1.5)

Согласно документации, « frac - это доля радиуса полярных осей, на которой размещается метка (1 - это край). Например, 1,05 находится вне осей, а 0,95 - внутри осей».

Однако, несмотря на то, что я установил frac = 1.5, метки все равно накладываются на сам график. Это пример сюжета

==============================================================================

Вотполное определение функции:

import matplotlib.pyplot as plt
import numpy as np

def make_radar_chart(name, stats, labels, plot_markers = markers, plot_str_markers = str_markers):
    markers = [1,2, 3, 4, 5, 6, 7, 8, 9, 10]
    str_markers = ["",'', "", '', "", '', "", "", "", '']
    labels = np.array(labels)

    angles = np.linspace(0, 2*np.pi, len(labels), endpoint=False)
    stats = np.concatenate((stats,[stats[0]]))
    angles = np.concatenate((angles,[angles[0]]))

    fig= plt.figure()
    ax = fig.add_subplot(111, polar=True)
    ax.plot(angles, stats, 'green', linewidth=1)
    ax.fill(angles, stats, 'green', alpha=0.25)
    ax.set_thetagrids(angles * 180/np.pi, labels = labels, color='blue', frac=1.5)
    plt.yticks(markers)
    plt.yticks([1,2,3,4,5,6,7,8,9], ["",'','3','',"5","",'7','',''], color="grey", size=7)
    ax.set_title(name)
    ax.grid(True)
    return plt.show()

1 Ответ

0 голосов
/ 13 марта 2019

Ознакомьтесь с Что нового в matplotlib 2.1 , где написано:

[...] Кроме того, метки тиков теперь соответствуют настройкам заполнения, которые ранее работали только на декартовой системе координат.участки.Следовательно, аргумент frac для PolarAxes.set_thetagrids больше не применяется.Тиковый отступ можно изменить с помощью аргумента pad на Axes.tick_params или Axis.set_tick_params.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...