我在python中使用plotly,并尝试在X和Y轴上使用这些类型的刻度: 10-3、10-4、10-5等等。
有什么建议或推荐阅读吗?
我得到了这样的信息:
发布于 2021-03-10 03:33:58
我相信你将会得到的是logartihmic axes
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()
发布于 2021-11-09 16:28:05
这个问题已经困扰我一段时间了,这是我找到的最好的解决方案:
TLDR,您可以使用HTML来确保指数是一个上标,并使用array
模式来传递字符串,以便标记标签绘制。
import plotly.express as px
import numpy as np
df = px.data.gapminder().query("year == 2007")
fig = px.scatter(df, x="gdpPercap", y="lifeExp", hover_name="country", log_x=True)
tickvals = np.logspace(3,6, num=4)
print(tickvals)
def format_tick(n: float):
m, e = f"{n:.0e}".split("e")
e = int(e)
return f"{m} x 10<sup>{e}</sup>"
ticktext = [format_tick(t) for t in tickvals]
print(ticktext)
fig.update_layout(
xaxis = dict(
tickmode = 'array',
tickvals = tickvals,
ticktext = ticktext,
)
)
fig.show()
https://stackoverflow.com/questions/66552592
复制相似问题