Vertically:plotly和dash:doublexaxisbothlabelvertically

我正在努力解决以下问题:

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 垂直呢?

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(229)
Cmd关机命令:ShellExecute中的 cmd命令
上一篇
7z压缩文件:在powershell中使用7z解压缩文件
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(32条)