18

这是我使用的程序:

library(plotly)

mydata = read.csv("data_to_plot.txt")
df = as.data.frame(mydata)

p <- df %>%
  group_by(X) %>%
  plot_ly(x = ~Y, y = ~X, z = ~Z, type = "scatter3d", mode = "lines")
p  

以下是“mydata”的摘录:

df[1:12,]
XYZ
1 1 0.2818017 0.0005993884
2 1 0.2832173 0.0007896421
3 1 0.2846330 0.0010293849
4 1 0.2860487 0.00132896462
5 40132824962 5 4010.344

我想在 X 轴上反转 X 值,但找不到如何修改我的程序。语法的细节对plotly我来说非常模糊。有人能提供一些帮助吗?非常感谢。

绘制的数据: 在此处输入图像描述

4

7 回答 7

12

您可能正在寻找 layout(xaxis = list(autorange = "reversed").

于 2016-11-16T22:13:53.133 回答
6

万一有人到达这里寻找python中某些子图的反转轴。

fig.update_yaxes(autorange="reversed", row, col)
于 2021-10-12T10:21:00.513 回答
2

目前 plotly 不支持 3d 中的反转轴范围。由于这个原因autorange = "reversed"不起作用。

于 2016-11-27T15:39:58.380 回答
1

使用 plotly 时,您可以通过传递字典来修改 yaxis 属性。要反转 y 轴,请使用fig.update_layout如下所示:

import plotly.graph_objects as go
import numpy as np

N = 1000
t = np.linspace(0, 10, 100)
y = np.sin(t)

fig = go.Figure(data=go.Scatter(x=t, y=y, mode='markers'))

fig.update_layout(
    yaxis = dict(autorange="reversed")
)

fig.show()

在此处输入图像描述

您可以看到 Y 轴是相反的顺序。

于 2021-09-02T09:11:41.707 回答
1

x=-x您可以通过设置和/或来旋转绘图y=-y。然后,您可以在布局中使用tickvals = list(-x_ticks)和删除图中的减号。ticktext = list(x_ticks)还没有找到从悬停文本中删除减号信号的方法。但我想我不能拥有这一切 =)

于 2020-05-14T14:53:34.903 回答
0

如果要反转 3D 绘图的轴之一:

fig.update_layout(
    scene={
        'xaxis': {'autorange': 'reversed'}, # reverse automatically
        'yaxis': {'range': (100, 0)},       # manually set certain range in reverse order
    }
)

查看详细信息:scene.YAxis.autorange

PS:有些人写道,它不适用于以前版本的 Plotly 中的 3D 情节。我刚刚签入了最新版本(3D Surface),它工作正常。

于 2021-12-05T21:07:28.237 回答
0

您可以通过使用转盘旋转继续旋转绘图来解决此问题。最初,轴的方向是朝向您的最大值。当你旋转时,它们会一个一个地转向另一个方向,然后回到它们开始的地方。这可能是为什么autorange = "reversed"在 3d 图中不起作用的原因。

于 2018-04-04T19:34:56.630 回答