如何使用Plotly绘制3D条形图/饼图/甜甜圈

时间:2018-05-30 05:47:03

标签: python 3d bar-chart plotly pie-chart

我找到了代码来绘制条形图和饼图以及其他3D图。 一个简单的条形图如下所示:

from  plotly.offline import plot
from plotly.graph_objs import *
trace1 = Bar(
    x=['cats', 'dogs', 'monkeys'],
    y=[20, 14, 23]
)
data = Data([trace1])
plot(data)

是否有任何选项可用于在3D布局中绘制此条形图。饼图/甜甜圈也是?

2 个答案:

答案 0 :(得分:2)

查看官方文档: https://plot.ly/python/3d-charts/

因为这应该是plot.ly中所有可用3D图表的列表:

不,似乎目前没有3D Bar / Pie / Donut的选项。

另请参阅:https://community.plot.ly/t/will-there-be-3d-bar-charts-in-the-future/1045/2

Bar / Pie / Donut本质上是二维的,使得它们不会提供额外的价值(除了化妆品)

正如上面的链接所示,您可以尝试使用3D filled line plots

虽然我怀疑获得理想结果所需的额外复杂性是值得的。

答案 1 :(得分:1)

Plotly尚未实现3D条形图。 https://github.com/buran21/barchart3d-plotly有3D条形图绘制功能的一种变体,用于绘制1D标记的数据。一个例子:

import plotly.data as pdata
from barchart3d import barchart3d

df = pdata.gapminder()
df = df[df['year'] == 2007].sort_values(by='pop', ascending=False).head(10)
fig = barchart3d(
    df['country'].to_list(), (df['pop']/1e06).round(1).to_list(),
    'Top 10 most populous countries in 2007 [Gapminder]', 'Population, mln',
    colorscale='Bluered', opacity=0.6, flatshading=True)
fig.show()

Example output