Plotly:如何更改 3D 曲面图的配色方案?

Posted

技术标签:

【中文标题】Plotly:如何更改 3D 曲面图的配色方案?【英文标题】:Plotly: How to change the colour scheme of a 3D surface plot? 【发布时间】:2021-05-08 16:58:42 【问题描述】:

我想在 plotly python 中更改 3D 曲面图的配色方案。 Plotly 默认分配配色方案,如下图所示。

这是我的代码

import import plotly.graph_objects as go
import pandas as pd

data = pd.read_csv('\Data.csv')
data.set_index("years", inplace = True)
figure = go.Figure(data=[go.Surface(z=data.values)])
figure.update_layout(
            scene = dict(
                xaxis = dict(
                    title = 'Months',
                    #nticks = 5,
                    autorange='reversed',
                    showgrid=True, 
                    gridwidth=1, 
                    gridcolor='Blue',
                    ticktext = data.columns,
                    tickvals= list(range(0,data.shape[1]))),
                
                    
                yaxis = dict(
                    title = 'years',
                    showgrid=True, 
                    gridwidth=1, 
                    gridcolor='Blue',
                    ticktext = data.index,
                    tickvals= list(range(0,data.shape[0]))),
              
                zaxis = dict(
                    title = 'Discharge (Cumecs)',
                    #showgrid=True, 
                    gridwidth=1,
                    gridcolor='Blue')),
           tilte = 'Plot 1'
)

【问题讨论】:

我觉得this answer 很有帮助。 【参考方案1】:

您可以通过colorscale in 轻松更改配色方案

go.Surface(colorscale ='<color>')

这是一个使用colorscale='Blues的示例:

fig = go.Figure(data=[go.Surface(z=z_data.values, colorscale ='Blues')])

情节

您的色阶选项是(但不一定限于):

Greys,YlGnBu,Greens,YlOrRd,Bluered,RdBu,Reds,Blues,Picnic,Rainbow,Portland,Jet,Hot,Blackbody,Earth,Electric,Viridis,Cividis。

示例代码:

import plotly.graph_objects as go

import pandas as pd

# Read data from a csv
z_data = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv')

fig = go.Figure(data=[go.Surface(z=z_data.values, colorscale ='Blues')])

fig.update_layout(title='Mt Bruno Elevation', autosize=False,
                  width=500, height=500,
                  margin=dict(l=65, r=50, b=65, t=90))
f = fig.full_figure_for_development(warn=False)


fig.show()

【讨论】:

非常感谢...作为一个新手,我错过了很多简单的事情... @AsifMarazi 新手与否,以我的拙见,您在 SO 上的开端非常。您问了一个问题,该问题没有一个很容易用谷歌搜索(虽然不确定这是否是一个词=)答案,并且您提供了一个几乎可重现的代码 sn-p。这比我们在这里的大多数新手看到的要多。但更重要的是,您通过评论和接受建议的解决方案提供快速反馈,证明了您的问题的答案对您的价值高于零。继续努力,您将在这里学到很多。回头见! 抱歉,回复延迟...我目前非常热衷于学习编程,当然需要您的帮助...感谢您的赞赏...

以上是关于Plotly:如何更改 3D 曲面图的配色方案?的主要内容,如果未能解决你的问题,请参考以下文章

如何转换 Excel 导入的数据以使用 Plotly 3D 曲面图?

在 Plotly 中创建 3D 曲面图

为啥 plot_ly in plotly 绘制曲面图的 id 列?

r plotly 3d曲面图问题

R语言plotly可视化:plotly可视化回归面(plane)使用mesh3d和add_surface实现三维回归曲面

Plotly:如何自定义 3D 散点图的符号?