Plotly - 如何在Python中更改X轴标签?

11

我正在绘制一个水平堆积条形图,并且我希望 x 轴上的每个项目反映一个日期时间值而不是整数。 我按秒绘制值。 如何更改 x 轴刻度标签以反映日期时间? 谢谢!

import plotly.plotly as plt
import plotly.graph_objs as gph

data = [
    ('task 1', 300),
    ('task 2', 1200),
    ('task 3', 500)
]
traces = []
for (key, val) in data:
    traces += [gph.Bar(
        x=val,
        y=1,
        name=key,
        orientation='h',
        )]

layout = gph.Layout(barmode='stack')
fig = gph.Figure(data=traces, layout=layout)
plt.iplot(fig)
2个回答

6
这是一个例子(文档)。
layout = gph.Layout(
    title='Plot Title',
    xaxis=dict(
        title='x Axis',
        titlefont=dict(
            family='Courier New, monospace',
            size=18,
            color='#7f7f7f'
        )
    ),
    yaxis=dict(
        title='y Axis',
        titlefont=dict(
            family='Courier New, monospace',
            size=18,
            color='#7f7f7f'
        )
    )
)

4

在您的布局中,您需要指定类型为类别,并指定categoryorder和array值。此外,为了使您的条形图正确打印,它们需要是数组。以下代码似乎可以做到您想要的效果-假设您的日期时间是值。

import plotly.plotly as plt
import plotly.graph_objs as gph

data = [
    ('task 1', 300),
    ('task 2', 1200),
    ('task 3', 500)
]
vals = []
traces = []
for (key, val) in data:
    vals.append(val)
    traces.append(gph.Bar(
        x=[val],
        y=[1],
        name=key,
        ))

layout = gph.Layout(xaxis=dict(categoryorder='array', categoryarray=vals, type="category"))
fig = gph.Figure(data=traces, layout=layout)
plt.iplot(fig)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接