Plotly log 刻度显示完整的刻度值
Plotly log scale show full tick values
import plotly.express as px
df = px.data.gapminder().query("year == 2007")
fig = px.scatter(df, x="gdpPercap", y="lifeExp", hover_name="country", log_x=True)
fig.show()
并生产
x
轴上的刻度是否可能显示2000
、20k
等而不是2
,[=15也是如此=], 4
... ?
- 你可以使用https://plotly.com/python/tick-formatting/#tickmode--array
- 下面的例子考虑到它是几何的,并且只需要轴上的一位有效数字 How to round a number to significant figures in Python
import plotly.express as px
import numpy as np
import pandas as pd
df = px.data.gapminder().query("year == 2007")
fig = px.scatter(df, x="gdpPercap", y="lifeExp", hover_name="country", log_x=True)
fig.update_layout(
xaxis={
"tickmode": "array",
"tickvals": pd.to_numeric(
[f"{n:.1g}" for n in np.geomspace(1, df["gdpPercap"].max(), 15)]
),
}
)
import plotly.express as px
df = px.data.gapminder().query("year == 2007")
fig = px.scatter(df, x="gdpPercap", y="lifeExp", hover_name="country", log_x=True)
fig.show()
并生产
x
轴上的刻度是否可能显示2000
、20k
等而不是2
,[=15也是如此=], 4
... ?
- 你可以使用https://plotly.com/python/tick-formatting/#tickmode--array
- 下面的例子考虑到它是几何的,并且只需要轴上的一位有效数字 How to round a number to significant figures in Python
import plotly.express as px
import numpy as np
import pandas as pd
df = px.data.gapminder().query("year == 2007")
fig = px.scatter(df, x="gdpPercap", y="lifeExp", hover_name="country", log_x=True)
fig.update_layout(
xaxis={
"tickmode": "array",
"tickvals": pd.to_numeric(
[f"{n:.1g}" for n in np.geomspace(1, df["gdpPercap"].max(), 15)]
),
}
)