На рисунке matplotlib по-прежнему показана ось y после использования set_visible (False) - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь полностью удалить ось Y из графика, созданного с помощью matplotlib. Код, который я использую:

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
from scipy.stats import skewnorm

f = plt.figure(figsize=(8,4))
ax = f.add_subplot(111)

colors = ["windows blue", "faded green", "dusty purple"]
colors = sns.xkcd_palette(colors)
b = 4
for j, a in enumerate([(0, 'No skew'), (b, 'Positive skew'), (-b, 'Negative skew')]):    
    x = np.linspace(skewnorm.ppf(0.001, a[0]), skewnorm.ppf(0.999, a[0]), 100)
    y = skewnorm.pdf(x, a[0])
    plt.plot(x, y, label=a[1], color=colors[j])
ax.yaxis.set_visible(False)
plt.legend(loc=2)
sns.despine()

Создает график со снятыми галочками по оси Y, но сама ось все еще видна (показано ниже). Как я могу полностью отключить эту ось?

Plot with y-axis still visible

1 Ответ

0 голосов
/ 11 мая 2018

Вам необходимо явно предоставить параметр left или bottom для описания с sns.despine. По умолчанию удаляются только правая и верхняя оси.

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
from scipy.stats import skewnorm

f = plt.figure(figsize=(8,4))
ax = f.add_subplot(111)

colors = ["windows blue", "faded green", "dusty purple"]
colors = sns.xkcd_palette(colors)
b = 4
for j, a in enumerate([(0, 'No skew'), (b, 'Positive skew'), (-b, 'Negative skew')]):    
    x = np.linspace(skewnorm.ppf(0.001, a[0]), skewnorm.ppf(0.999, a[0]), 100)
    y = skewnorm.pdf(x, a[0])
    ax.plot(x, y, label=a[1], color=colors[j])
ax.yaxis.set_visible(False)
plt.legend(loc=2)
sns.despine(left=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...