我正在使用 plotly.js 来绘制科学数据。
我正在尝试反转色标方向。 绘制垂直颜色条,最大值在顶部,最小值在底部。
是否可以反转此功能? (顶部的最小值和底部的最大值)
我试过“reversescale”功能,但它也会反转色阶。 请帮助。
例子
有点hack,但我没有找到任何其他方法来做到这一点。基本上你可以用你想要的颜色条的属性创建一个虚拟图。在这个例子中,我使用了一个空的散点图。请注意,您需要手动插入刻度值才能正常工作。
import plotly.graph_objects as go
import numpy as np
data = np.array([[1,2,3,4,5],
[3,4,5,6,7],
[7,8,9,6,4],
[3,7,2,4,2]])
# Ticks to appear in the colorbar
tickvals = [2, 5, 8]
colorscale="Viridis"
# Main plot
trace = go.Contour(z = data, colorscale=colorscale, colorbar_tickvals=tickvals, showscale=False)
# Dummy plot for colorbar
colorbar_trace=go.Scatter(
x=[None],
y=[None],
mode='markers',
marker=dict(
colorscale=colorscale+'_r',
cmin=np.min(data),
cmax=np.max(data),
colorbar=dict(tickvals=tickvals, ticktext=tickvals[::-1])),
hoverinfo='none'
)
fig = go.Figure(data = [trace, colorbar_trace])
fig.show()