python - Python 3d 绘图集固定色标
问题描述
我正在尝试绘制两个 3d 数组:第一个具有 (z) 值在 range[-0.15, 0.15]
中,第二个来自[-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()
解决方案
我只是查看了 plotly API 参考,Surface
需要什么样的参数。我看到cmin
了cmax
和cmix
。您可以设置这些来告诉 Surface 您的色标的最小值、最大值和中点应该在哪里。在您的情况下,只需将 cmin 和 cmax 设置为适合您的用例的值:
go.Surface(z=data1, colorscale="viridis", cmin=-0.15, cmax=0.15)
例如
推荐阅读
- sql - SQL:查找至少进行 3 次预订的水手姓名
- javascript - 添加自定义按钮以响应导航底部TabNavigator?
- r - 右 | 合并前后行
- jquery - 如果一个 HTML 字段有一个类和一个名称,但没有 ID,那么什么 JQuery 代码可以使它成为必填字段?
- scala - 使用 UInt 在 Seq 中获取项目
- java - 尝试指向不同实例时出现 NullPointerException
- algorithm - Fenwick 树与段树
- java - 关于如何取消系统输入的Java问题
- flutter - 如何在 Flutter 中使用 Draggable 将元素拖动到 Stack 中?
- python - 网站上的表格上的 Web 抓取值。Python,BeautifulSoup,请求