@@ -1556,6 +1556,12 @@ def _trisurf(x, y, z, simplices, colormap=None, color_func=None,
1556
1556
if len (color_func ) != len (simplices ):
1557
1557
raise ValueError ("If color_func is a list/array, it must "
1558
1558
"be the same length as simplices." )
1559
+ # convert all colors to rgb
1560
+ for index in range (len (color_func )):
1561
+ if '#' in color_func [index ]:
1562
+ foo = FigureFactory ._hex_to_rgb (color_func [index ])
1563
+ color_func [index ] = FigureFactory ._label_rgb (foo )
1564
+
1559
1565
mean_dists = np .asarray (color_func )
1560
1566
else :
1561
1567
# apply user inputted function to calculate
@@ -1810,6 +1816,48 @@ def dist_origin(x, y, z):
1810
1816
# Plot the data
1811
1817
py.iplot(fig1, filename='Trisurf Plot - Custom Coloring')
1812
1818
```
1819
+
1820
+ Example 5: Enter color_func as a list of colors
1821
+ ```
1822
+ # Necessary Imports for Trisurf
1823
+ import numpy as np
1824
+ from scipy.spatial import Delaunay
1825
+ import random
1826
+
1827
+ import plotly.plotly as py
1828
+ from plotly.tools import FigureFactory as FF
1829
+ from plotly.graph_objs import graph_objs
1830
+
1831
+ # Make data for plot
1832
+ u=np.linspace(-np.pi, np.pi, 30)
1833
+ v=np.linspace(-np.pi, np.pi, 30)
1834
+ u,v=np.meshgrid(u,v)
1835
+ u=u.flatten()
1836
+ v=v.flatten()
1837
+
1838
+ x = u
1839
+ y = u*np.cos(v)
1840
+ z = u*np.sin(v)
1841
+
1842
+ points2D = np.vstack([u,v]).T
1843
+ tri = Delaunay(points2D)
1844
+ simplices = tri.simplices
1845
+
1846
+
1847
+ colors = []
1848
+ color_choices = ['rgb(0, 0, 0)', '#6c4774', '#d6c7dd']
1849
+
1850
+ for index in range(len(simplices)):
1851
+ colors.append(random.choice(color_choices))
1852
+
1853
+ fig = FF.create_trisurf(
1854
+ x, y, z, simplices,
1855
+ color_func=colors,
1856
+ title=' Modern Art'
1857
+ )
1858
+
1859
+ py.iplot(fig, filename="Modern Art")
1860
+ ```
1813
1861
"""
1814
1862
from plotly .graph_objs import graph_objs
1815
1863
plotly_scales = {'Greys' : ['rgb(0,0,0)' , 'rgb(255,255,255)' ],
0 commit comments