繁体   English   中英

Altair 中的条形图:ValueError:分面图无法分层

[英]Bar Chart in Altair: ValueError: Faceted charts cannot be layered

有没有人有避免错误的建议?

ValueError:分面图表无法分层。

用这个 Pandas Dataframe

|  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)

是什么使图表具有多面性,如何避免此错误?

多面图是您使用columnrow.facet来创建数据的多个子图的图表。 有关更多详细信息,请参阅文档 在您的特定情况下,您可以尝试先分层,然后再分面:

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')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM