问题描述
如何创建包含单个数据点的小提琴图?
下面的代码显示小提琴和彼此相邻的单个数据点;但是,我希望小提琴将点(洋红色箭头)括起来,而不是彼此相邻?
import plotly.express as px
df = px.data.tips()
fig = px.violin(df,y="total_bill",Box=False,# draw Box plot inside the violin
points='all',# can be 'outliers',or False
)
fig.show()
解决方法
您可以使用 plotly graph_objects
来实现这一点。您必须设置 pointpos
属性,该属性设置采样点相对于小提琴的位置。如果为“0”,则采样点位于小提琴的中心上方。 (https://plotly.com/python/reference/violin/)
import plotly.express as px
import plotly.graph_objects as go
df = px.data.tips()
### define the chart
data = go.Violin(y=df['total_bill'],points='all',pointpos=0)
### assign the chart to the figure
fig = go.Figure(data=data)
### show the plot
fig.show()