Кто-нибудь знает, можем ли мы построить заполненные диаграммы в python matplotlib? Я проверил http://matplotlib.org/api/pyplot_api.html, но не смог т найти полезную информацию об этом.
python matplotlib заполненные квадратные диаграммы
comment
matplotlib.org/examples/pylab_examples/boxplot_demo2.html ?
- person Fenikso   schedule 29.11.2013
comment
Можете ли вы показать нам, что вы пробовали?
- person tacaswell   schedule 29.11.2013
Ответы (2)
Пример, который @Fenikso показывает пример того, как это сделать, но на самом деле он делает это неоптимальным образом.
По сути, вы хотите передать patch_artist=True
в boxplot
.
В качестве быстрого примера:
import matplotlib.pyplot as plt
import numpy as np
data = [np.random.normal(0, std, 1000) for std in range(1, 6)]
plt.boxplot(data, notch=True, patch_artist=True)
plt.show()
Если вы хотите управлять цветом, сделайте что-то подобное:
import matplotlib.pyplot as plt
import numpy as np
data = [np.random.normal(0, std, 1000) for std in range(1, 6)]
box = plt.boxplot(data, notch=True, patch_artist=True)
colors = ['cyan', 'lightblue', 'lightgreen', 'tan', 'pink']
for patch, color in zip(box['boxes'], colors):
patch.set_facecolor(color)
plt.show()
person
Joe Kington
schedule
29.11.2013
Добавьте
patch.set_alpha(0.5)
в цикл для прозрачности.
- person n1000; 26.01.2015
@ n1000 — обратите внимание, что вы можете комбинировать вызовы set_‹blah› с помощью метода
set
. Например: patch.set(facecolor=color, alpha=0.5)
.
- person Joe Kington; 26.01.2015
Это здорово - спасибо! Я часами искал чистый способ сделать это.
- person Arne Babenhauserheide; 29.05.2015
Можно ли установить прозрачность для цвета лица, но не для линии поля?
- person Ger; 19.10.2015
Это можно сделать с помощью Plotly Python API. График, сценарий и данные для этого графика находятся здесь< /а>.
Чтобы управлять цветом, вам нужно указать fillcolor
. Здесь это не установлено; значение по умолчанию — заполнить его. Или вы можете сделать его прозрачным, добавив 'fillcolor':'rgba(255, 255, 255, 0)'
. Вы также можете настроить стиль с помощью графического интерфейса.
import plotly
py = plotly.plotly(username='username', key='api_key')
from numpy.random import lognormal
x=[0]*1000+[1]*1000+[2]*1000
y=lognormal(0,1,1000).tolist()+lognormal(0,2,1000).tolist()+lognormal(0,3,1000).tolist()
s={'type':'box','jitter':0.5}
l={'title': 'Fun with the Lognormal distribution','yaxis':{'type':'log'}}
py.plot(x,y,style=s,layout=l)
Полное раскрытие: я в команде Plotly.
person
Mateo Sanchez
schedule
20.01.2014
в чем преимущество использования онлайн-системы, зависящей от веб-сервиса, где мне нужно войти в систему, прежде чем я смогу построить график? (Я думал, что спрошу, прежде чем проголосовать за то, что это не matplotlib)
- person Arne Babenhauserheide; 29.05.2015
Спасибо Арне. Преимущества, которые обычно нравятся людям, — это совместное использование, интерактивность, совместная работа и возможность встраивания. Дополнительные сведения см. в руководстве по IPython здесь.
- person Mateo Sanchez; 04.06.2015
можно ли использовать это без веб-сервиса? (не в сети)
- person Arne Babenhauserheide; 08.06.2015
@ArneBabenhauserheide, да. здесь скачать.
- person Mateo Sanchez; 21.08.2015