Python 关于如何将 Z 轴设置为对数刻度的绘图提示
Python Plotly tips on how to set Z-axis to logscale
问候人类同胞,
我想做的只是将 3d 表面图 Z 尺度(下面的代码)绘制为对数尺度。我一直在查看官方文档,但似乎找不到 Z 标度的“fig.update_xaxes(type="log")”等价物。我试过简单地将第一个 'x' 替换为 'z',但这导致了一个错误:
文件“/path/to/file.py”,第 18 行,位于
fig.update_zaxes(类型="日志")
AttributeError: 'Figure' 对象没有属性 'update_zaxes'
有人可能有什么建议吗?表面图在 3D 中看起来不错,但在对数尺度下看起来会更好。
import plotly.graph_objects as go
import pandas as pd
z_data = pd.read_csv('data.csv',index_col=False)
y = z_data['1']
z = z_data.iloc[:,1:]
fig = go.Figure(data=[go.Surface(z=z, y=y)])
fig.update_layout(title='3D plot', autosize=False,
width=1880, height=1080,
margin=dict(l=65, r=50, b=65, t=90))
#fig.update_zaxes(type="log")
fig.write_image("data.png")
fig.show()
感谢所有试图提供帮助的人!
可以使用场景设置 3D 图形的轴。由于我们没有任何数据,我们从 official reference example. setting dtick=1, the result will be 1,10,100,100.... For more details, please check this.
添加了 z-axis 的日志设置
import plotly.graph_objects as go
import pandas as pd
# Read data from a csv
z_data = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv')
fig = go.Figure(data=[go.Surface(z=z_data.values)])
fig.update_layout(title='Mt Bruno Elevation', autosize=False,
width=500, height=500,
margin=dict(l=65, r=50, b=65, t=90))
fig.update_layout(scene=dict(zaxis=dict(dtick=1, type='log')))
fig.show()
问候人类同胞, 我想做的只是将 3d 表面图 Z 尺度(下面的代码)绘制为对数尺度。我一直在查看官方文档,但似乎找不到 Z 标度的“fig.update_xaxes(type="log")”等价物。我试过简单地将第一个 'x' 替换为 'z',但这导致了一个错误: 文件“/path/to/file.py”,第 18 行,位于 fig.update_zaxes(类型="日志") AttributeError: 'Figure' 对象没有属性 'update_zaxes'
有人可能有什么建议吗?表面图在 3D 中看起来不错,但在对数尺度下看起来会更好。
import plotly.graph_objects as go
import pandas as pd
z_data = pd.read_csv('data.csv',index_col=False)
y = z_data['1']
z = z_data.iloc[:,1:]
fig = go.Figure(data=[go.Surface(z=z, y=y)])
fig.update_layout(title='3D plot', autosize=False,
width=1880, height=1080,
margin=dict(l=65, r=50, b=65, t=90))
#fig.update_zaxes(type="log")
fig.write_image("data.png")
fig.show()
感谢所有试图提供帮助的人!
可以使用场景设置 3D 图形的轴。由于我们没有任何数据,我们从 official reference example. setting dtick=1, the result will be 1,10,100,100.... For more details, please check this.
添加了 z-axis 的日志设置import plotly.graph_objects as go
import pandas as pd
# Read data from a csv
z_data = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv')
fig = go.Figure(data=[go.Surface(z=z_data.values)])
fig.update_layout(title='Mt Bruno Elevation', autosize=False,
width=500, height=500,
margin=dict(l=65, r=50, b=65, t=90))
fig.update_layout(scene=dict(zaxis=dict(dtick=1, type='log')))
fig.show()