Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit eda41f3

Browse files
committed
added new notebook
1 parent fb310b3 commit eda41f3

File tree

3 files changed

+408
-0
lines changed

3 files changed

+408
-0
lines changed
Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
---
2+
permalink: python/3d-surface-plots/
3+
description: How to make 3D-surface plots in Python
4+
name: 3D Surface Plots in Python | plotly
5+
has_thumbnail: true
6+
thumbnail: thumbnail/3d-surface.jpg
7+
layout: user-guide
8+
name: 3D Surface Plots
9+
language: python
10+
title: 3D Surface Plots in Python | plotly
11+
display_as: 3d_charts
12+
has_thumbnail: true
13+
page_type: example_index
14+
order: 6
15+
---
16+
{% raw %}
17+
<div class="cell border-box-sizing text_cell rendered">
18+
<div class="prompt input_prompt">
19+
</div>
20+
<div class="inner_cell">
21+
<div class="text_cell_render border-box-sizing rendered_html">
22+
<h4 id="Topographical-3D-Surface-Plot">Topographical 3D Surface Plot<a class="anchor-link" href="#Topographical-3D-Surface-Plot">&#182;</a></h4>
23+
</div>
24+
</div>
25+
</div>
26+
<div class="cell border-box-sizing code_cell rendered">
27+
<div class="input">
28+
<div class="prompt input_prompt">In&nbsp;[2]:</div>
29+
<div class="inner_cell">
30+
<div class="input_area">
31+
<div class=" highlight hl-ipython2"><pre><span class="kn">import</span> <span class="nn">plotly.plotly</span> <span class="kn">as</span> <span class="nn">py</span>
32+
<span class="kn">import</span> <span class="nn">plotly.graph_objs</span> <span class="kn">as</span> <span class="nn">go</span>
33+
34+
<span class="kn">import</span> <span class="nn">pandas</span> <span class="kn">as</span> <span class="nn">pd</span>
35+
36+
<span class="c"># Read data from a csv</span>
37+
<span class="n">z_data</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s">&#39;https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv&#39;</span><span class="p">)</span>
38+
39+
<span class="n">data</span> <span class="o">=</span> <span class="p">[</span>
40+
<span class="n">go</span><span class="o">.</span><span class="n">Surface</span><span class="p">(</span>
41+
<span class="n">z</span><span class="o">=</span><span class="n">z_data</span><span class="o">.</span><span class="n">as_matrix</span><span class="p">()</span>
42+
<span class="p">)</span>
43+
<span class="p">]</span>
44+
<span class="n">layout</span> <span class="o">=</span> <span class="n">go</span><span class="o">.</span><span class="n">Layout</span><span class="p">(</span>
45+
<span class="n">title</span><span class="o">=</span><span class="s">&#39;Mt Bruno Elevation&#39;</span><span class="p">,</span>
46+
<span class="n">autosize</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
47+
<span class="n">width</span><span class="o">=</span><span class="mi">500</span><span class="p">,</span>
48+
<span class="n">height</span><span class="o">=</span><span class="mi">500</span><span class="p">,</span>
49+
<span class="n">margin</span><span class="o">=</span><span class="nb">dict</span><span class="p">(</span>
50+
<span class="n">l</span><span class="o">=</span><span class="mi">65</span><span class="p">,</span>
51+
<span class="n">r</span><span class="o">=</span><span class="mi">50</span><span class="p">,</span>
52+
<span class="n">b</span><span class="o">=</span><span class="mi">65</span><span class="p">,</span>
53+
<span class="n">t</span><span class="o">=</span><span class="mi">90</span>
54+
<span class="p">)</span>
55+
<span class="p">)</span>
56+
<span class="n">fig</span> <span class="o">=</span> <span class="n">go</span><span class="o">.</span><span class="n">Figure</span><span class="p">(</span><span class="n">data</span><span class="o">=</span><span class="n">data</span><span class="p">,</span> <span class="n">layout</span><span class="o">=</span><span class="n">layout</span><span class="p">)</span>
57+
<span class="n">py</span><span class="o">.</span><span class="n">iplot</span><span class="p">(</span><span class="n">fig</span><span class="p">,</span> <span class="n">filename</span><span class="o">=</span><span class="s">&#39;elevations-3d-surface&#39;</span><span class="p">)</span>
58+
</pre></div>
59+
60+
</div>
61+
</div>
62+
</div>
63+
64+
<div class="output_wrapper">
65+
<div class="output">
66+
67+
68+
<div class="output_area"><div class="prompt output_prompt">Out[2]:</div>
69+
70+
<div class="output_html rendered_html output_subarea output_execute_result">
71+
<iframe id="igraph" scrolling="no" style="border:none;" seamless="seamless" src="https://plot.ly/~demo_account/104.embed" height="500px" width="500px"></iframe>
72+
</div>
73+
74+
</div>
75+
76+
</div>
77+
</div>
78+
79+
</div>
80+
<div class="cell border-box-sizing text_cell rendered">
81+
<div class="prompt input_prompt">
82+
</div>
83+
<div class="inner_cell">
84+
<div class="text_cell_render border-box-sizing rendered_html">
85+
<h4 id="Multiple-3D-Surface-Plots">Multiple 3D Surface Plots<a class="anchor-link" href="#Multiple-3D-Surface-Plots">&#182;</a></h4>
86+
</div>
87+
</div>
88+
</div>
89+
<div class="cell border-box-sizing code_cell rendered">
90+
<div class="input">
91+
<div class="prompt input_prompt">In&nbsp;[3]:</div>
92+
<div class="inner_cell">
93+
<div class="input_area">
94+
<div class=" highlight hl-ipython2"><pre><span class="kn">import</span> <span class="nn">plotly.plotly</span> <span class="kn">as</span> <span class="nn">py</span>
95+
<span class="kn">from</span> <span class="nn">plotly.graph_objs</span> <span class="kn">import</span> <span class="n">Surface</span>
96+
97+
<span class="n">z1</span> <span class="o">=</span> <span class="p">[</span>
98+
<span class="p">[</span><span class="mf">8.83</span><span class="p">,</span><span class="mf">8.89</span><span class="p">,</span><span class="mf">8.81</span><span class="p">,</span><span class="mf">8.87</span><span class="p">,</span><span class="mf">8.9</span><span class="p">,</span><span class="mf">8.87</span><span class="p">],</span>
99+
<span class="p">[</span><span class="mf">8.89</span><span class="p">,</span><span class="mf">8.94</span><span class="p">,</span><span class="mf">8.85</span><span class="p">,</span><span class="mf">8.94</span><span class="p">,</span><span class="mf">8.96</span><span class="p">,</span><span class="mf">8.92</span><span class="p">],</span>
100+
<span class="p">[</span><span class="mf">8.84</span><span class="p">,</span><span class="mf">8.9</span><span class="p">,</span><span class="mf">8.82</span><span class="p">,</span><span class="mf">8.92</span><span class="p">,</span><span class="mf">8.93</span><span class="p">,</span><span class="mf">8.91</span><span class="p">],</span>
101+
<span class="p">[</span><span class="mf">8.79</span><span class="p">,</span><span class="mf">8.85</span><span class="p">,</span><span class="mf">8.79</span><span class="p">,</span><span class="mf">8.9</span><span class="p">,</span><span class="mf">8.94</span><span class="p">,</span><span class="mf">8.92</span><span class="p">],</span>
102+
<span class="p">[</span><span class="mf">8.79</span><span class="p">,</span><span class="mf">8.88</span><span class="p">,</span><span class="mf">8.81</span><span class="p">,</span><span class="mf">8.9</span><span class="p">,</span><span class="mf">8.95</span><span class="p">,</span><span class="mf">8.92</span><span class="p">],</span>
103+
<span class="p">[</span><span class="mf">8.8</span><span class="p">,</span><span class="mf">8.82</span><span class="p">,</span><span class="mf">8.78</span><span class="p">,</span><span class="mf">8.91</span><span class="p">,</span><span class="mf">8.94</span><span class="p">,</span><span class="mf">8.92</span><span class="p">],</span>
104+
<span class="p">[</span><span class="mf">8.75</span><span class="p">,</span><span class="mf">8.78</span><span class="p">,</span><span class="mf">8.77</span><span class="p">,</span><span class="mf">8.91</span><span class="p">,</span><span class="mf">8.95</span><span class="p">,</span><span class="mf">8.92</span><span class="p">],</span>
105+
<span class="p">[</span><span class="mf">8.8</span><span class="p">,</span><span class="mf">8.8</span><span class="p">,</span><span class="mf">8.77</span><span class="p">,</span><span class="mf">8.91</span><span class="p">,</span><span class="mf">8.95</span><span class="p">,</span><span class="mf">8.94</span><span class="p">],</span>
106+
<span class="p">[</span><span class="mf">8.74</span><span class="p">,</span><span class="mf">8.81</span><span class="p">,</span><span class="mf">8.76</span><span class="p">,</span><span class="mf">8.93</span><span class="p">,</span><span class="mf">8.98</span><span class="p">,</span><span class="mf">8.99</span><span class="p">],</span>
107+
<span class="p">[</span><span class="mf">8.89</span><span class="p">,</span><span class="mf">8.99</span><span class="p">,</span><span class="mf">8.92</span><span class="p">,</span><span class="mf">9.1</span><span class="p">,</span><span class="mf">9.13</span><span class="p">,</span><span class="mf">9.11</span><span class="p">],</span>
108+
<span class="p">[</span><span class="mf">8.97</span><span class="p">,</span><span class="mf">8.97</span><span class="p">,</span><span class="mf">8.91</span><span class="p">,</span><span class="mf">9.09</span><span class="p">,</span><span class="mf">9.11</span><span class="p">,</span><span class="mf">9.11</span><span class="p">],</span>
109+
<span class="p">[</span><span class="mf">9.04</span><span class="p">,</span><span class="mf">9.08</span><span class="p">,</span><span class="mf">9.05</span><span class="p">,</span><span class="mf">9.25</span><span class="p">,</span><span class="mf">9.28</span><span class="p">,</span><span class="mf">9.27</span><span class="p">],</span>
110+
<span class="p">[</span><span class="mi">9</span><span class="p">,</span><span class="mf">9.01</span><span class="p">,</span><span class="mi">9</span><span class="p">,</span><span class="mf">9.2</span><span class="p">,</span><span class="mf">9.23</span><span class="p">,</span><span class="mf">9.2</span><span class="p">],</span>
111+
<span class="p">[</span><span class="mf">8.99</span><span class="p">,</span><span class="mf">8.99</span><span class="p">,</span><span class="mf">8.98</span><span class="p">,</span><span class="mf">9.18</span><span class="p">,</span><span class="mf">9.2</span><span class="p">,</span><span class="mf">9.19</span><span class="p">],</span>
112+
<span class="p">[</span><span class="mf">8.93</span><span class="p">,</span><span class="mf">8.97</span><span class="p">,</span><span class="mf">8.97</span><span class="p">,</span><span class="mf">9.18</span><span class="p">,</span><span class="mf">9.2</span><span class="p">,</span><span class="mf">9.18</span><span class="p">]</span>
113+
<span class="p">]</span>
114+
115+
<span class="n">z2</span> <span class="o">=</span> <span class="p">[[</span><span class="n">zij</span><span class="o">+</span><span class="mi">1</span> <span class="k">for</span> <span class="n">zij</span> <span class="ow">in</span> <span class="n">zi</span><span class="p">]</span> <span class="k">for</span> <span class="n">zi</span> <span class="ow">in</span> <span class="n">z1</span><span class="p">]</span>
116+
<span class="n">z3</span> <span class="o">=</span> <span class="p">[[</span><span class="n">zij</span><span class="o">-</span><span class="mi">1</span> <span class="k">for</span> <span class="n">zij</span> <span class="ow">in</span> <span class="n">zi</span><span class="p">]</span> <span class="k">for</span> <span class="n">zi</span> <span class="ow">in</span> <span class="n">z1</span><span class="p">]</span>
117+
118+
<span class="n">py</span><span class="o">.</span><span class="n">iplot</span><span class="p">([</span>
119+
<span class="nb">dict</span><span class="p">(</span><span class="n">z</span><span class="o">=</span><span class="n">z1</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s">&#39;surface&#39;</span><span class="p">),</span>
120+
<span class="nb">dict</span><span class="p">(</span><span class="n">z</span><span class="o">=</span><span class="n">z2</span><span class="p">,</span> <span class="n">showscale</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">opacity</span><span class="o">=</span><span class="mf">0.9</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s">&#39;surface&#39;</span><span class="p">),</span>
121+
<span class="nb">dict</span><span class="p">(</span><span class="n">z</span><span class="o">=</span><span class="n">z3</span><span class="p">,</span> <span class="n">showscale</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">opacity</span><span class="o">=</span><span class="mf">0.9</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s">&#39;surface&#39;</span><span class="p">)],</span>
122+
<span class="n">filename</span><span class="o">=</span><span class="s">&#39;python-docs/multiple-surfaces&#39;</span><span class="p">)</span>
123+
</pre></div>
124+
125+
</div>
126+
</div>
127+
</div>
128+
129+
<div class="output_wrapper">
130+
<div class="output">
131+
132+
133+
<div class="output_area"><div class="prompt output_prompt">Out[3]:</div>
134+
135+
<div class="output_html rendered_html output_subarea output_execute_result">
136+
<iframe id="igraph" scrolling="no" style="border:none;" seamless="seamless" src="https://plot.ly/~demo_account/107.embed" height="525px" width="100%"></iframe>
137+
</div>
138+
139+
</div>
140+
141+
</div>
142+
</div>
143+
144+
</div>
145+
<div class="cell border-box-sizing text_cell rendered">
146+
<div class="prompt input_prompt">
147+
</div>
148+
<div class="inner_cell">
149+
<div class="text_cell_render border-box-sizing rendered_html">
150+
<h4 id="Reference">Reference<a class="anchor-link" href="#Reference">&#182;</a></h4>
151+
</div>
152+
</div>
153+
</div>
154+
<div class="cell border-box-sizing text_cell rendered">
155+
<div class="prompt input_prompt">
156+
</div>
157+
<div class="inner_cell">
158+
<div class="text_cell_render border-box-sizing rendered_html">
159+
<p>See <a href="https://plot.ly/python/reference/#surface">https://plot.ly/python/reference/#surface</a> for more information!</p>
160+
161+
</div>
162+
</div>
163+
</div>{% endraw %}

0 commit comments

Comments
 (0)