重新组合饼图中的低百分比数据

Posted

技术标签:

【中文标题】重新组合饼图中的低百分比数据【英文标题】:Regroup low% data in a pie chart 【发布时间】:2021-09-08 18:35:12 【问题描述】:

我正在努力寻找一种方法以动态方式将特定部分中的低百分比数据分组,例如饼图中的“其他”(假设低于 1%)(即当我取消选中图例,图表会自动更新,因此一些数据会回到 1% 以上,不再属于其他数据。) 我使用这种数据,如您所见,它的可读性和审美性都不是很好:

Pie Chart with not grouped data

但我想要类似的东西

Pie Chart with grouped data

我已经得到了类似的东西,但这不是动态的,因为我在将数据提供给图表之前正在处理数据

感谢您的任何回答

【问题讨论】:

【参考方案1】: 在处理这个之前我没有看到 javascript 标记... 简单的方法 - 只需在使用 plotly 之前准备好数据以聚合小切片
from plotly.subplots import make_subplots
import plotly.graph_objects as go
import plotly.express as px
import numpy as np

# generate some data...
df = pd.DataFrame("percent": np.concatenate([np.random.uniform(80, 100, 5), np.random.uniform(2, 20, 20)]))
df["percent"] = df["percent"] / df["percent"].sum()

# jus plot as a pie,
fig = px.pie(df, values="percent")


# let's merge the small slices in the data,  plot is the same
df2 = pd.concat([df.loc[df["percent"] < 0.02].sum().to_frame().T, df.loc[df["percent"] >= 0.02]])
fig2 = px.pie(df2, values="percent")


figsp = make_subplots(
    rows=1,
    cols=2,
    specs=[["type": "pie", "type": "pie"]],
    subplot_titles=["ungrouped", "grouped"],
)
figsp.add_trace(fig.data[0], row=1, col=1).add_trace(fig2.data[0], row=1, col=2)

【讨论】:

以上是关于重新组合饼图中的低百分比数据的主要内容,如果未能解决你的问题,请参考以下文章

计算Adobe Flex饼图中每个扇区的百分比

在Excel中制作复合饼图

饼图绘制

如何使用jquery Highcharts在饼图中显示值而不是百分比

解决HighCharts饼图中如果所占百分比为0的时候,不显示边线及0%的方法

Echarts,饼图中怎么对数据进行判断