如何将下面的直方图的x轴设为对数?
以下代码:
data_list = [1,1,5,5,5,100,100]
import plotly.graph_objects as go
fig = go.Figure()
fig.add_trace(go.Histogram(x=data_list, nbinsx=100))
import plotly.offline as py
py.init_notebook_mode(connected=False)
py.offline.plot(fig, filename = 'test.html')
生成典型的直方图。 如何更改 x 轴对数?
我也尝试过:
data_list = [1,1,5,5,5,100,100]
import plotly.graph_objects as go
fig = go.Figure()
fig.add_trace(go.Histogram(x=data_list, nbinsx=100))
fig.update_layout(xaxis_type="log")
fig.update_xaxes(tick0=0, dtick=1, range=[0,2.5])
import plotly.offline as py
py.init_notebook_mode(connected=False)
py.offline.plot(fig, filename = 'test.html')
但这会导致非对数分箱,本质上,100 处的分箱消失了!
正如上面评论中所说,对数轴在绘图中是不可能的。您可以尝试使用 numpy 创建 bin 并用它们创建条形图。
请参阅 https://github.com/plotly/plotly.py/issues/2899 进行讨论,以及 https://gist.github.com/acssantos/3108539189e60e4b059130259d21f5a9 了解可能的解决方法(
log_histogram
函数) ).