Ось формата сгруппированной гистограммы altair и отступы

Я работаю с Альтаиром и люблю его за быструю визуализацию. Я немного борюсь с тонкой настройкой форматирования, особенно в отношении заполнения сгруппированных гистограмм и попытки получить неповторяющийся заголовок.

Пожалуйста, посмотрите график на данный момент: На данный момент график и код, генерирующий график:

dfc = pd.DataFrame({'Alternative': {0: 0, 1: 1, 2: 0, 3: 1, 4: 0, 5: 1, 6: 0, 7: 1},
 'Time': {0: 1979,
  1: 1979,
  2: 1980,
  3: 1980,
  4: 1980,
  5: 1980,
  6: 1980,
  7: 1980},
 'Sim #': {0: 2688, 1: 3564, 2: 86, 3: 424, 4: 743, 5: 884, 6: 1530, 7: 1612},
 'Cost_MNOK': {0: .5,
  1: .4,
  2: 2,
  3: 3,
  4: 30,
  5: 40,
  6: 200,
  7: 300},
 'freq': {0: 5.555555555555556e-06,
  1: 5.555555555555556e-05,
  2: 5.555555555555556e-06,
  3: 5.555555555555556e-05,
  4: 5.555555555555556e-06,
  5: 5.555555555555556e-05,
  6: 5.555555555555556e-06,
  7: 5.555555555555556e-05},
 'Bin_text': {0: '0-1 MNOK',
  1: '0-1 MNOK',
  2: '1-10 MNOK',
  3: '1-10 MNOK',
  4: '10-100 MNOK',
  5: '10-100 MNOK',
  6: '100+ MNOK',
  7: '100+ MNOK'},
 'Bin': {0: 1, 1: 1, 2: 2, 3: 2, 4: 3, 5: 3, 6: 4, 7: 4}})


heatmap_colors = ['#edf8fb', '#b2e2e2', '#66c2a4', 'red']
alt.Chart(dfc).mark_bar().encode(
    alt.Column('Bin_text', header=alt.Header(title='Occurrence of failures grouped by cost')),
    alt.X('Alternative:N', axis=alt.Axis(orient='bottom', ), title='Alt'),
    alt.Y('sum(freq)', axis=alt.Axis(grid=False, format='%', title='Frequency')),
    alt.Color('Bin_text', scale=alt.Scale(range=heatmap_colors), legend=alt.Legend(title='Bins')),
    alt.Tooltip('sum(freq)', format='.2%')
).configure_view(strokeOpacity=0)

Я пытаюсь достичь следующего:

  • В верхнем ряду заголовки моих групп гистограмм усечены. Я хотел бы предотвратить это, но также предотвратить дублирование. Я ожидаю, что это должно быть сделано за счет увеличения расстояния между группами, но я не могу понять, как это сделать. Я пробовал, среди прочего, добавить объект Scale к объекту Column, но это больше не разрешенный аргумент (казалось, в altair v1 все в порядке). РЕДАКТИРОВАТЬ: Я нашел способ сделать это: добавление .properties(width=200) в самом конце сюжета обеспечивает больший интервал, и заголовки сюжета становятся читаемыми. Но другая часть вопроса остается в силе.
  • Внизу графика заголовок «Alt» повторяется для всех групп. Я бы предпочел иметь здесь одно название, а не повторение одного и того же текста.

Любые идеи и советы приветствуются!


person gerdek    schedule 04.07.2018    source источник
comment
сделали это сейчас, спасибо.   -  person gerdek    schedule 18.07.2018


Ответы (1)


Начиная с Altair v2.1 / Vega-Lite v2.6, нет возможности изменить отступы между фасетами или настроить атрибуты фасетов, такие как заголовки.

Соответствующая проблема для отслеживания этой функции находится здесь: https://github.com/vega/vega-lite/issues/2446

person jakevdp    schedule 24.07.2018