有人有避免错误的建议吗?
ValueError:分面图表无法分层。
使用这个 Pandas 数据框
| Lab | FieldName |MissingItemCnt | WorkItemCnt |PercentMissing|
| ----- | ------------------ |------------------| ------------------ | ---------- |
|PQR LAB| MC ADO| 0 | 1 | 0.00 |
|PQR LAB| MC Link| 0 | 1 | 0.00 |
|PQR LAB| HW Received or Expected| 1 | 1 | 100.00 |
|PQR LAB| Requested Start Date| 0 | 1 | 0.00 |
|PQR LAB| Requested End Date| 0 | 1 | 0.00 |
|PQR LAB| Targeted Start Date| 0 | 1 | 0.00 |
|PQR LAB| Targeted End Date| 0 | 1 | 0.00 |
|PQR LAB| Projected End Date| 0 | 1 | 0.00 |
|PQR LAB| Actual Start Date| 1 | 1 | 100.00 |
|PQR LAB| Actual End Date| 1 | 1 | 100.00 |
|PQR LAB| Signoff Date| 1 | 1 | 100.00 |
|PQR LAB| Duration End| 1 | 1 | 100.00 |
|PQR LAB| Duration SignOff| 1 | 1 | 100.00 |
|PQR LAB| HW Recieved Date| 1 | 1 | 100.00 |
|PQR LAB| Tags| 0 | 1 | 0.00 |
|RED LAB| MC ADO| 13 | 137 | 9.49 |
|RED LAB| MC Link| 13 | 137 | 9.49 |
|RED LAB| HW Received or Expected| 18 | 137 | 13.14 |
|RED LAB| Requested Start Date| 3 | 137 | 2.19 |
|RED LAB| Requested End Date| 4 | 137 | 2.92 |
|RED LAB| Targeted Start Date| 6 | 137 | 4.38 |
|RED LAB| Targeted End Date| 7 | 137 | 5.11 |
|RED LAB| Projected End Date| 113| 137 | 82.48 |
|RED LAB| Actual Start Date| 20 | 137 | 14.60 |
|RED LAB| Actual End Date| 25 | 137 | 18.25 |
|RED LAB| Signoff Date| 28 | 137 | 20.44 |
|RED LAB| Duration End| 25 | 137 | 18.25 |
|RED LAB| Duration SignOff| 28 | 137 | 20.44 |
|RED LAB| HW Recieved Date| 32 | 137 | 23.36 |
|RED LAB| Tags| 89 | 137 | 64.96 |
我制作了百分比条形图,包括带有以下代码的条形图:
bars = alt.Chart(outer_join_df).mark_bar().encode(
#x='PercentMissing:Q',
#alt.X('PercentOfTotal:Q', axis=alt.Axis(format='.0%')),
alt.Y('PercentMissing:Q'),
x='Lab Location:O',
color='Lab Location:N',
column='FieldName:N'
)
text = bars.mark_text(
align='left',
baseline='middle',
dx=3 # Nudges text to right so it doesn't appear on top of the bar
).encode(
text='PercentMissing:Q'
)
(bars + text).properties(height=900)
是什么使图表具有多面性以及如何避免此错误?
最佳答案
多面图表是一种使用列
、行
或.facet
来创建数据的多个子图的图表。 See the docs for more details 。根据您的具体情况,您可以尝试先分层,然后再分面:
bars = alt.Chart(outer_join_df).mark_bar().encode(
alt.Y('PercentMissing:Q'),
x='Lab Location:O',
color='Lab Location:N',
)
text = bars.mark_text(
align='left',
baseline='middle',
dx=3 # Nudges text to right so it doesn't appear on top of the bar
).encode(
text='PercentMissing:Q'
)
(bars + text).properties(height=900).facet(column='FieldName:N')
关于python - Altair 中的条形图 : ValueError: Faceted charts cannot be layered,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67318821/