Я работаю с 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» повторяется для всех групп. Я предпочел бы иметь здесь один заголовок вместо того же повторяющегося текста.
Любые идеи и советы приветствуются!