viewof account_status_dp = vl.markBar({tooltip: {"content": "data"}, size:5})
.data(community_data)
.transform(
vl.groupby('community_type').aggregate(vl.sum('user_count').as('Users'), vl.sum('active_users').as('Active'),vl.sum('deleted_users').as('Deleted'),vl.sum('suspended_users').as('Suspended') ),
vl.calculate("datum.Active/datum.Users * 100").as("Percentage of Active Users"),
vl.calculate("datum.Deleted/datum.Users * 100").as("Percentage of Deleted Users"),
vl.calculate("datum.Suspended/datum.Users * 100").as("Percentage of Suspended Users")
)
.encode(
vl.color().fieldN('community_type'),
vl.x().fieldQ(
vl.repeat("repeat")
).axis({grid: false, titleFontSize:"13", labelFontSize: "12"}),
vl.y().fieldN('community_type').axis({grid: false, title: false, labelFontSize: "12"}),
)
.width(width/5)
.repeat([
"Percentage of Active Users",
"Percentage of Deleted Users",
"Percentage of Suspended Users"
])
.columns(1)
.padding("20")
.render()