如何在 Plotly Express 条形图上创建初始缩放? (绝对的)
How to create initial zoom on Plotly express bar chart? (categorical)
我在 plotly express 中有一个分类轴,它包含大约 100 个不同的类别。我想要做的是,当我创建它时,它只会在前 10 个类别上缩放,然后用户将能够使用 plotly 控件缩小。我该怎么做?
设置 x 范围,但将每个类别视为从 0 开始的整数。
import plotly.express as px
df = px.data.iris()
fig = px.bar(df,
x = 'species',
y = 'sepal_length',
range_x = [-0.5, 1.5],
barmode = 'overlay',
)
一个可能的解决方案是在 xaxis[=12= 上使用 rangeslider 和 range ]
已生成样本数据集,其中 x 是分类的,以证明这一点。
import plotly.express as px
import numpy as np
import pandas as pd
df = pd.DataFrame(
{
"category": [
chr(r % 26 + 65) if r // 26 == 0 else chr(r // 26 + 64) + chr(r % 26 + 65)
for r in range(100)
],
"value": np.sin(np.linspace(-2 * np.pi, 2 * np.pi, 100)),
}
)
px.bar(df, x="category", y="value").update_layout(
xaxis_rangeslider_visible=True, xaxis_range=[0, 10]
)
我在 plotly express 中有一个分类轴,它包含大约 100 个不同的类别。我想要做的是,当我创建它时,它只会在前 10 个类别上缩放,然后用户将能够使用 plotly 控件缩小。我该怎么做?
设置 x 范围,但将每个类别视为从 0 开始的整数。
import plotly.express as px
df = px.data.iris()
fig = px.bar(df,
x = 'species',
y = 'sepal_length',
range_x = [-0.5, 1.5],
barmode = 'overlay',
)
一个可能的解决方案是在 xaxis[=12= 上使用 rangeslider 和 range ]
已生成样本数据集,其中 x 是分类的,以证明这一点。
import plotly.express as px
import numpy as np
import pandas as pd
df = pd.DataFrame(
{
"category": [
chr(r % 26 + 65) if r // 26 == 0 else chr(r // 26 + 64) + chr(r % 26 + 65)
for r in range(100)
],
"value": np.sin(np.linspace(-2 * np.pi, 2 * np.pi, 100)),
}
)
px.bar(df, x="category", y="value").update_layout(
xaxis_rangeslider_visible=True, xaxis_range=[0, 10]
)