蟒蛇:多个分裂紫线图覆盖

时间:2020-07-24 22:48:55

标签: python plotly violin-plot

我有一组样品用小提琴图来说明。这是plotly的示例。

enter image description here

我想要类似的东西,但是小提琴的左侧有多个“蓝色”分布。分布下的区域很可能是半透明的且重叠的。

有没有建议进行绘制?它不必是散布的。

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用fig.add_trace添加任意数量的跟踪。从plotly遵循相同的示例:

import plotly.graph_objects as go

import pandas as pd

df = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/violin_data.csv")

fig = go.Figure()

fig.add_trace(go.Violin(x=df['day'][ df['smoker'] == 'Yes' ],
                        y=df['total_bill'][ df['smoker'] == 'Yes' ],
                        legendgroup='Yes', scalegroup='Yes', name='Yes',
                        side='negative',
                        line_color='blue')
             )
fig.add_trace(go.Violin(x=df['day'][ df['smoker'] == 'No' ],
                        y=df['total_bill'][ df['smoker'] == 'No' ],
                        legendgroup='No', scalegroup='No', name='No',
                        side='negative',
                        line_color='green')
             )
fig.add_trace(go.Violin(x=df['day'][ df['smoker'] == 'No' ],
                        y=df['total_bill'][ df['smoker'] == 'No' ],
                        legendgroup='No', scalegroup='No', name='No',
                        side='positive',
                        line_color='orange')
             )
fig.update_traces(meanline_visible=True)
fig.update_layout(violingap=0, violinmode='overlay')
fig.show()

将在左侧添加另一条迹线:

enter image description here