如何使用 plotly 将轮廓颜色更改为轮廓范围外的白色?
How to change contour color to white outside contour range using plotly?
我正在使用下方绘制等高线,如果值超出等高线范围,我想将颜色设置为白色(未显示),如下所示 z_min。对于我的情节,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
.[=16 中的参数 z
之前,用 np.nan
替换数组轮廓范围之外的任何值=]
数组中的 NaN 值将不会呈现并显示为透明,这意味着可以看到刻度线和背景。然后您可以将纸张和绘图背景设置为白色,以便 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()
我正在使用下方绘制等高线,如果值超出等高线范围,我想将颜色设置为白色(未显示),如下所示 z_min。对于我的情节,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
.[=16 中的参数 z
之前,用 np.nan
替换数组轮廓范围之外的任何值=]
数组中的 NaN 值将不会呈现并显示为透明,这意味着可以看到刻度线和背景。然后您可以将纸张和绘图背景设置为白色,以便 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()