Как изменить начальную позицию оси графика?

#python #plotly

#python #plotly

Вопрос:

Я использую

python3.7.6 plotly==4.9.0

попытка изменить x-диапазон диаграммы, например

оригинальное изображение

чтобы полностью использовать пространство, как показано на следующем рисунке. X начинается с первой точки без каких-либо полей изменено

Я могу сделать это с

 x=[1,2,3]
y=[1,2,3]

fig=px.line(x,y)
fig.update_layout(
    xaxis={
        'range':[0.99,3]
    })
  

Но если у меня есть категориальная ось,

 import pandas as pd
import plotly.express as px
df=pd.DataFrame({
    'x':['xx','yy','zz'],
    'y':[1,2,3]})

fig=px.bar(df,x,y)
  

как я могу установить диапазон оси?

Спасибо

Комментарии:

1. Я до сих пор не знаю, что я хочу делать. Вы хотите нарисовать px.line и px.bar на одном графике и установить его в начало координат (0,0)? Перед этим fig.=px.bar(df,'x','y') указан правильный код.

Ответ №1:

Для категориальных осей диапазон работает так же, как и числовой, в этом случае категория преобразуется в целое число, см. Здесь и ниже (выделение добавлено).

Задает диапазон этой оси. Если ось type имеет значение «log», то вы должны взять журнал желаемого диапазона (например, чтобы установить диапазон от 1 до 100, установите диапазон от 0 до 2). Если ось type имеет значение «дата», это должны быть строки даты, такие как данные даты, хотя объекты даты и миллисекунды unix будут приняты и преобразованы в строки. Если ось type имеет значение «категория», это должны быть числа, используя шкалу, в которой каждой категории присваивается порядковый номер с нуля в порядке его появления.

Для вашего примера попробуйте:

 import pandas as pd
import plotly.express as px

df=pd.DataFrame({
    'x':['xx','yy','zz'],
    'y':[1,2,3]})

fig=px.bar(df,x='x',y='y')

fig.update_layout(
    xaxis={
        'range':[-.4,2.4]
    })

fig.show()
  

введите описание изображения здесь

Комментарии:

1. Спасибо! простой ответ помогает: D