我试图绘制两个3d数组:第一个在范围[-0.15, 0.15]中有(z)值,第二个来自[-0.001, 0.001]。当我绘图时,彩色刻度会自动跟随数据范围:我如何设置一个自定义刻度呢?我不想看到0.001的浅色,而应该是0.15。我怎样才能修好天平?
我同意以下部分代码:
import numpy as np
import matplotlib.pyplot as plt
import plotly.graph_objects as go
data1=np.load("test.npy")
fig = go.Figure(data=[go.Surface(z=data1,colorscale="viridis")])
fig.update_layout(margin = dict(t=100,r=100,b=100,l=100),
scene = dict(zaxis = dict(range=[-0.15,0.15],)),
showlegend = False,
width = 1000, height = 1000,
autosize = False )
fig.update_layout(scene = dict(
xaxis_title='x',
yaxis_title='y',
zaxis_title='z'))
fig.write_image("image.pdf")
fig.show()发布于 2019-12-17 17:35:18
我只是查了一下Surface采用什么样的参数的API引用。我看到了cmin,cmax和cmix。您可以设置这些,以告诉曲面,最小,最大,和中点,你的颜色标度应该在哪里。在您的示例中,只需将cmin和cmax设置为适合您的用例的值:
例如,go.Surface(z=data1, colorscale="viridis", cmin=-0.15, cmax=0.15)
https://stackoverflow.com/questions/59379173
复制相似问题