Как создать динамическую ось X Altair и не фиксироваться на текущих значениях?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как создать динамическую ось X Altair и не фиксироваться на текущих значениях?

Сообщение Anonymous »

Мои данные выглядят следующим образом:



Имя
Дата
1%
2%< /th>
10%
...
100%




Энн
24 января
3
5
1
...
92


Анна
1/2 /24
4
8
2
. ..
78


Анна
< td>3/1/24
7
9
6
...
47



Моя ось X — это проценты: 1%, 2%, 5%, 10%, 15%, 25%, 50% и 100%
Я создал свою таблицу с помощью Altair:

Код: Выделить всё

import altair as alt

chart_df = newdf.drop(columns = ['NAME'])
chart_df = chart_df.astype({col: 'float' for col in chart_df.columns if col != 'DATE'})

numeric_cols = sorted(chart_df.columns[1:].to_list(), key=float)

chart_df = chart_df[['DATE'] + numeric_cols]

chart_df['DATE'] = pd.to_datetime(chart_df['DATE'], format='%Y.%m.%d')
chart_df = chart_df.melt(id_vars = ['DATE'], var_name = '%age', value_name = 'Output')

chart_df['DATE'] = chart_df['DATE'].dt.strftime('%Y-%m-%d')

#st.write('Melted Dataframe:', chart_df)
chart = alt.Chart(chart_df).mark_circle(size = 60).encode(alt.X('%age:O',
sort = numeric_cols),
alt.Y('Output:Q'),
color='DATE:N',
tooltip=['DATE:N', '%age:O', 'Output:Q']
).properties(width = 600, height = 400)
st.altair_chart(chart, use_container_width = True)
Это выглядит нормально, но значения оси X разделены фиксированным расстоянием, а не их фактические значения, разделенные диапазоном 0–100. Значения 1% и 2% должны располагаться намного ближе, чем значения 2% и 5%, однако все они разделены одинаковым расстоянием.
Вот что на диаграмме выглядит сейчас:
Изображение

И вот что это должно выглядеть так, когда значения динамически размещаются в диапазоне 0–100 %:
Изображение
< /п>

Подробнее здесь: https://stackoverflow.com/questions/790 ... ent-values
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»