2016-09-06 4 views
2

У меня есть панды dataframe, как показано ниже:Круговые и столбчатые диаграммы в Python

Group id Count 
G1  412 52 
G1  413 34 
G2  412 2832 
G2  413 314 

Я пытаюсь построить круговую диаграмму в Python - для каждой группы и ид, мне нужно, чтобы отобразить соответствующее количество. Он должен иметь два разделения - один для группы и другой для Id. Внешний круг должен быть групповым, а внутренний круг должен быть id. Просто начал с визуализации, задаваясь вопросом, есть ли библиотека python, которая может это сделать.

Это требование достигается с помощью гистограмм?

+0

Я не думаю, что так. Для каждого фрагмента группы должны быть два среза. Например, пусть первый фрагмент в круговой диаграмме будет для G1, внутри которого должны быть два подкласса, один для 412 и другой для 413. – user3447653

ответ

1

Вы забыли свой пароль: plotly?

Круговая диаграмма Specific: Pie Charts with Plotly

Я скажу вам сделать должны сделать счет, но его легко и свободно.

1

Panda также интегрируется с matplotlib, который несколько уродлив, но очень удобен. http://pandas.pydata.org/pandas-docs/stable/visualization.html#pie-plot

Некоторые сложные примеры Hierarchic pie/donut chart from Pandas DataFrame using bokeh or matplotlib

Мой опыт показывает, что вы должны сделать много конфигурации, если вы хотите иметь базовые DIY диаграммы с питоном. Возможно, лучший подход для вас - один из следующих вариантов: 1) попробуйте замысловато, если данные не чувствительны 2) используйте excel и интегрируйте python с диаграммой в excel, что может сэкономить вам много времени, потому что люди могут быть знакомы с Excel шаблонов легко. 3) Сделай сам сам, в настоящее время, Bokeh, matplotlib, seaborn находятся под вашим рассмотрением, если вы просто хотите сделать что-то простое.

0

Вот то, что требуется, если вы используете pyexcel и pyexcel-pygal:

>>> import pyexcel as p 
>>> sheet = p.get_sheet(file_name='test.csv', delimiter='\t') 
>>> sheet 
test.csv: 
+-------+-----+-------+ 
| Group | id | Count | 
+-------+-----+-------+ 
| G1 | 412 | 52 | 
+-------+-----+-------+ 
| G1 | 413 | 34 | 
+-------+-----+-------+ 
| G2 | 412 | 2832 | 
+-------+-----+-------+ 
| G2 | 413 | 314 | 
+-------+-----+-------+ 
>>> sheet.transpose() 
>>> sheet 
test.csv: 
+-------+-----+-----+------+-----+ 
| Group | G1 | G1 | G2 | G2 | 
+-------+-----+-----+------+-----+ 
| id | 412 | 413 | 412 | 413 | 
+-------+-----+-----+------+-----+ 
| Count | 52 | 34 | 2832 | 314 | 
+-------+-----+-----+------+-----+ 
>>> sheet.name_rows_by_column(0) 
>>> sheet.row['Group'] 
['G1', 'G1', 'G2', 'G2'] 
>>> p.save_as(array=[sheet.row['Group'], sheet.row['Count']], dest_chart_type='pie', dest_file_name='group_pie.svg') 

group_pie.svg

>>> p.save_as(array=[sheet.row['id'], sheet.row['Count']], dest_chart_type='pie', dest_file_name='id_pie.svg') 

id_pie.svg

Смежные вопросы