color_continuous_scale допустимая функция для плоского python?

#plotly

Вопрос:

Я создавал диаграмму Ганта для своего школьного проекта и, меняя цветовую схему полос, использовал следующую строку

 chart.update_layout(title_font_size=42, font_size=10, title_font_family="Proxima Nova", color_continuous_scale=[(0, "red"), [0.5, "yellow", (1, "green")]])
 

и ошибка, которую он показывает, это

Ошибка значения: Недопустимое свойство, указанное для объекта типа plotly.graph_objs.Макет: «цвет» и все свойства плоского плохого пути свойства: color_continuous_scale

Ответ №1:

  • использование примера кода в качестве основы https://plotly.com/python/gantt/#gantt-charts-and-timelines-with-plotlyexpress чтобы сделать воспроизводимый пример
  • color_continuous_scale является параметром для графического выражения
  • для использования update_layout() вам необходимо использовать структуру параметров объектов графика. Следовательно coloraxis={"colorscale":[...])
  • оба они показаны ниже
 import plotly.express as px
import pandas as pd

df = pd.DataFrame(
    [
        dict(Task="Job A", Start="2009-01-01", Finish="2009-02-28", Completion_pct=50),
        dict(Task="Job B", Start="2009-03-05", Finish="2009-04-15", Completion_pct=25),
        dict(Task="Job C", Start="2009-02-20", Finish="2009-05-30", Completion_pct=75),
    ]
)

fig = px.timeline(
    df,
    x_start="Start",
    x_end="Finish",
    y="Task",
    color="Completion_pct",
    color_continuous_scale=[(0, "pink"), (0.5, "blue"), (1, "purple")],
)
fig.update_yaxes(autorange="reversed")
fig.update_layout(
    title_text="Demo",
    title_font_size=42,
    font_size=10,
    title_font_family="Proxima Nova",
    coloraxis={"colorscale": [(0, "red"), (0.5, "yellow"), (1, "green")]},
)