![](/img/trans.png)
[英]Plotly: How to change scale of the contour lines using go.Contour?
[英]How to change contour color to white outside contour range using plotly?
我在下面使用 plot 轮廓,如果值在 z_min 以下的轮廓范围之外,我想将颜色设置为白色(未显示)。 对于我的 plot,z_min 以下的所有内容仍然是与 zmin 相同的蓝色。 在设置 start=, end= inside contour=dict() 后,我看到它在下面的网站示例中工作。 谢谢你的帮助。
https://plotly.com/python/contour-plots/
fig.add_trace(go.Contour(
# last column, either pressure or temperature
z = Z.T,
x = X[:,0],
y = Y[0],
colorscale='Jet',
contours=dict(
start=z_min,
end=z_max,
size=25,
coloring="heatmap"),
zmin=z_min,
zmax=z_max
)
)
目前我想不出任何直接的方法来使轮廓变白。
一种可能的解决方案是在将数组传递给go.Contour
中的参数z
之前,用np.nan
数组中轮廓范围之外的任何值。
然后数组中的 NaN 值将不会呈现并且会显示为透明,这意味着可以看到刻度线和背景。 然后您可以将纸张和 plot 背景设置为白色,以便 NaN 值显示为白色。
这是一个如何实现的示例。 您要绘制的数组的尺寸越大,轮廓就越平滑。 在这个101 x 101
的阵列中,从轮廓到白色背景的变化并不完美,但相当平滑。
import numpy as np
import plotly.graph_objects as go
x = np.linspace(0, 5, 101)
y = np.linspace(0, 5, 101)
xx, yy = np.meshgrid(x, y)
zz = (xx**2 + yy**2)
z_min, z_max = 10,50
zz_array_masked = zz.copy()
zz_array_masked[zz_array_masked < z_min] = np.nan
fig = go.Figure(data =
go.Contour(
z=zz_array_masked,
colorscale='Jet',
contours=dict(
start=z_min,
end=z_max,
size=1,
),
zmin=z_min,
zmax=z_max
))
fig.update_layout(
paper_bgcolor='rgba(0,0,0,0)',
plot_bgcolor='rgba(0,0,0,0)'
)
fig.show()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.