我正在努力解决以下问题:
import pandas as pd
import plotly.graph_objects as go
df = pd.DataFrame({
"tick": ['VEEERY LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONG TEEEEXT', 'VEEERY LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONG TEEEEXT', '1', '1', '1', '2', '2', '2'],
"value": [12, -6, 9, -14, -10, 9, -10, 5],
"category": ['Born', 'Died', 'Born', 'Died', 'Died', 'Born', 'Died', 'Born'],
"type": ["Penguin", "Lion", "Penguin", "Lion", "Apes", "Penguin", "Lion", "Apes"]
})
from plotly.subplots import make_subplots
# set figure twith multiple y axes
fig = make_subplots(specs=[[{"secondary_y": True}]])
for t in df.type.unique():
plot_df = df[df.type == t]
fig.add_trace(go.Bar(
x=[plot_df.tick, plot_df.category],
y=abs(plot_df.value),
name=t,
))
total_df = df.groupby(['tick']).sum()
fig.update_layout({
'barmode': 'stack',
'xaxis': {
'title_text': "Tick",
'dtick': 'M1',
'tickformat': "%m.%Y",
'tickangle': -90,
},
'yaxis': {
'title_text': "Value",
},
})
fig.show()
当然,这个例子只是说明性的。但我的问题是:我想勾选标签,像 'VEEERY LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
但是,这样做是不可能的,因为 fig.update_layout 的 xaxis '' tickangle '仅与 fig.add_trace 的' x = '的第一层(plot_df.tick)相关:
fig.add_trace(go.Bar(
x=[plot_df.tick, plot_df.category],
y=abs(plot_df.value),
name=t,
))
但我有两个 x 的:
x=[plot_df.tick, plot_df.category]
那么我怎么能旋转 plot_df.category 垂直,同时保持 plot_df.tick 垂直呢?
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(87条)