Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Plotly中旋转绘图轴?_Python_Plotly - Fatal编程技术网

Python 如何在Plotly中旋转绘图轴?

Python 如何在Plotly中旋转绘图轴?,python,plotly,Python,Plotly,我在Plotly中完成了以下绘图 正如您所看到的,X、Y轴是以传统方式显示的。 如何旋转轴,使X垂直打印,Y水平打印(向左) (我还想修改每个轴的范围和间距) 我想它与布局元素有关 我的代码是否到目前为止 layout= go.Layout(title=go.layout.Title(text=title,x=0.5), xaxis={'title':'x[m]'}, yaxis={'title':'y[m]'}) point_plot=[

我在Plotly中完成了以下绘图

正如您所看到的,X、Y轴是以传统方式显示的。 如何旋转轴,使X垂直打印,Y水平打印(向左)

(我还想修改每个轴的范围和间距)

我想它与布局元素有关

我的代码是否到目前为止

layout= go.Layout(title=go.layout.Title(text=title,x=0.5),
        xaxis={'title':'x[m]'},
        yaxis={'title':'y[m]'})

    point_plot=[
            go.Scatter(x=[series[listoflabels[0]]],y=[series[listoflabels[1]]],name="V0"),
            go.Scatter(x=[series[listoflabels[2]]],y=[series[listoflabels[3]]],name="GT"),
            go.Scatter(x=[0],y=[0],name="egoCar")
            ]

    return go.Figure(data=point_plot, layout=layout)
编辑:

为了使其可复制,我将代码修改为

layout1= go.Layout(title=go.layout.Title(text="A graph",x=0.5),
        xaxis={'title':'x[m]'},
        yaxis={'title':'y[m]'})

point_plot=[
            go.Scatter(x=[3],y=[1],name="V0"),
            go.Scatter(x=[5],y=[2],name="GT"),
            go.Scatter(x=[0],y=[0],name="egoCar")
    ]
            
go.Figure(data=point_plot, layout=layout1).show()
情节是


我不知道Plotly有任何内置的方法来切换x轴和y轴。但是,您可以自己实现这一点,只需切换x轴和y轴的标题,然后切换与您的点对应的参数
x
y

然后可以将y轴(包含x坐标)放置在布局的右侧,并反转x轴(包含y坐标)的范围,以便原点位于右下侧

import plotly.graph_objects as go

# switch the axes titles
layout1= go.Layout(title=go.layout.Title(text="A graph",x=0.5),
        xaxis={'title':'y[m]'},
        yaxis={'title':'x[m]', 'side':'right'})

# switch the x- and y-coordinates
point_plot=[
            go.Scatter(y=[3],x=[1],name="V0"),
            go.Scatter(y=[5],x=[2],name="GT"),
            go.Scatter(y=[0],x=[0],name="egoCar")
    ]


fig = go.Figure(data=point_plot, layout=layout1)

# reverse the range of the xaxis (which contains the y values)
fig.update_xaxes(autorange="reversed")
fig.show()

Derek O谈到了什么是最容易实现的。这是一个1公里的图形类比,是0.6英里或
a,b=b,a

第二个选项是抽象数据和轴。这基本上是在说同样的事情,但可能更容易理解,因为Plotly有一种独特的能力,可以快速地将清晰、结构良好的Python转化为丑陋的JS,而无需插入括号


选项三是进一步抽象这一点,并让它为您设置坐标。

您是否有机会修改代码以使其可复制?我知道是否绘图对象,但也知道标题,然后谁知道还有什么。@hrokr我将其编辑到所需的最低限度。谢谢。它似乎起作用了。然而,我仍然有一个问题,我会把它作为一个问题发布。如果你能看一下,我会很感激的。我把这个标记为接受的答案。需要注意的是,如果我们想手动设置范围,可以将
autorange=“reversed”
替换为“autorange=[(正数),(负数)]”。