Настраивать (эстетически) полученные гистограммы strings в python

У меня есть array 400 элементов только с двумя типами стоимости: человек и женщина:

possible_genders = ['male','female']
gender =  [np.random.choice(possible_genders) for i in range(400)]

и назначенная по умолчанию гистограмма the matplotlib блистает достаточно мало:

introducir la descripción de la imagen aquí

Я пробую помещать крупные бруски, которые занимали бы почти всю диаграмму и лучшее, что с собой является этим:

introducir la descripción de la imagen aquí

Мне хотелось бы сохранять число элементов, которое показывает первую гистограмму в оси и (вертикально), маленькое расставание между обоими брусками, и которые зарубки оси x, который они представляют male, и female были бы сориентированы под каждым бруском.

Вся информация, что встреча связана с пронумерованными осями: вы знаете, как я могу издавать это?

Спасибо

2
задан 11.12.2018, 11:39
2 ответа

Если ты это не знаешь, смоги интересоваться исследовать библиотеку seaborn , которые он использует из-за внизу matplotlib, но это конфигурирует со стилями mГЎs "современные" назначенные по умолчанию. AdemГЎs он дает тебе другие функции очень высокого уровня, чтобы создавать autmГЎticamente grГЎficos различных типов, что связывают различные колонны dataframes панды.

В твоем случае usarГ - в asГ-:

import seaborn as sns
import pandas as pd
df = pd.DataFrame({"gender": gender})

# La creación del plot son dos líneas
sns.set_style("whitegrid")
sns.countplot(x="gender", data=df)

И результат:

Resultado

0
ответ дан 20.11.2019, 02:28
  • 1
    он очень нравится мне! Sí cononzo seaborn, но она не является остроумной. Я это применил в моем có я говорю и он думал, что после того, как имел другой df в том же файле podrí чтобы производить проблемы, но я вижу, что не, у меня может быть несколько отличных df без того, чтобы это было problemá костариканский, ¿ правда? –  Cacu 11.12.2018, 14:22
  • 2
    @Cacu у тебя Могут быть dataframes, которые ты хочешь, пока ты не призвал df ко всем :-) Но я не вижу из-за qué necesitarí схвати различный df для seaborn. Ты можешь перемещать его в data df, который ты используешь, и в x имя колонны, которое было нужно красить. Оставшаяся часть ignorará. –  abulafia 11.12.2018, 14:35

Ты можешь изменять гистограмму со следующими parГЎmetros

import numpy as np
import matplotlib.pyplot as plt

possible_genders = ['male','female']
gender =  [np.random.choice(possible_genders) for i in range(400)]

bins=len(possible_genders)
ticks = [i*(1/bins) + (1/bins)/2 for i in range(bins)]

plt.hist(gender, bins=bins, rwidth=0.9, align = 'mid')
plt.xticks(ticks)
plt.show()

Деталь:

  • Мы Определяем bins, как nГєmero categorГ-эксперта, чтобы показывать, в этом случае 2
  • Мы Определяем ticks как положения этикетки каждой категории, ширина каждого бруска serГЎ (1/bins) и из-за каждой из этих мы хотим tick упадите точно в способ + (1/bins)/2.
  • Мы Призываем hist() с parГЎmetro rwidth, чтобы конфигурировать относительную ширину, приспособленную к 90 %, уменьшаем бруски, чтобы оставлять место Последованные

:

introducir la descripción de la imagen aquí

1
ответ дан 20.11.2019, 02:28
  • 1
    Точно то, что tení в в разуме! Спасибо :) –  Cacu 11.12.2018, 13:51