Как отобразить каждое значение по оси y с помощью Plotly Express?

#python #python-3.x #plotly #plotly-express

Вопрос:

Когда я это сделаю:

 fig = px.line(df, x="day", y="avg_spending")


fig.show()
 

Он не помещает значения по оси y на 2 (0, 2, 4,…). Я хочу, чтобы это было 1 на 1 (0,1,2,3,..). Мое максимальное значение «avg_spending» в df равно 17, поэтому я хотел бы, чтобы на оси y было 1,2,3,…, 17. Как это сделать?

Ответ №1:

установите параметр dtick на оси

 import numpy as np
import pandas as pd
import plotly.express as px

df = pd.DataFrame({"day":range(50),"avg_spending":np.random.randint(1,17,50)})

fig = px.line(df, x="day", y="avg_spending")
fig.update_layout(yaxis={"dtick":1},margin={"t":0,"b":0},height=500)


 

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

1. спасибо, но они все прикрывают друг друга. как это сделать, сохраняя расстояние между тиками?

2. обновлено — просто дайте ему больше места ….

3. и можно ли добавить 0 в качестве начальной точки оси? потому что у меня его сейчас нет?

4.взгляните на документы, вы можете настроить множество вещей plotly.com/python/reference/layout/xaxis fig.update_layout(yaxis={"dtick":1,"range":[0,17]},margin={"t":0,"b":0},height=500) если вы хотите включить ноль в диапазон yaxis