#python #python-3.x #plotly
#python #python-3.x #plotly
Вопрос:
Я попытался использовать это в Google и реализовал все предполагаемые исправления, которые я нашел: Настройка tickvals
и connectgaps
, но это не решило проблему.
У меня есть набор данных из примерно 100 строк со значениями транзакций свойств за 1998, 1999 и 2020 годы. Однако Plotly настаивает на создании каждого года в период с 1999 по 2020 год, даже если он не существует в наборе данных.
Вот мой код диаграммы:
def scatter(df):
"""
Must take in a df with property_type, year, price_paid
"""
figs = []
for prop_type in df['property_type'].unique():
df_filt = df[df['property_type'] == prop_type]
figs.append(
go.Scatter(x=df_filt['year'],
y=df_filt['price_paid'],
mode='markers',
marker=dict(
size=15,
opacity=0.5,
line=dict(
width=1,
color='darkSlateGrey'
)
),
name=prop_type,
connectgaps=True)
)
layout = go.Layout(width=1000,
height=600)
fig = go.Figure(data=figs, layout=layout)
fig.update_xaxes(tickmode='array',
tickvals=[n for n in range(len(df_filt['year'].unique()))],
ticktext=[n for n in df_filt['year'].unique()])
chart = pyo.plot(fig, output_type='div', include_plotlyjs=True)
return chart
Однако вот что он показывает..
Вся помощь приветствуется!
Спасибо
Комментарии:
1. Вы пробовали устанавливать ось X
'type': 'category'
?2. Спасибо, да! Это сработало. Редактировать: Как мне выбрать ваш комментарий в качестве ответа?
3. Отлично, рад, что это помогло вам! Только что дал вам правильный ответ. Приветствия, приятель.
4. Добро пожаловать! Приветствия!
Ответ №1:
Решение может быть (и, согласно вашему комментарию, определенно есть) таким же простым, как добавление следующего в xaxis
макет:
'type': 'category'