📜  在Python中使用 Altair 突出显示条形图中的条形

📅  最后修改于: 2022-05-13 01:54:19.741000             🧑  作者: Mango

在Python中使用 Altair 突出显示条形图中的条形

数据可视化是数据的图形表示, Python捆绑了多个可用于数据可视化的库,这使其成为数据科学家的热门选择。 Altair 就是这样一种Python中的数据可视化库。 Altair API 简单、用户友好、一致,并且构建在 Vega-Lite JSON 配置之上。

在本文中,我们使用 Altair 创建数据集的条形图并突出显示符合指定条件的条形。使用的另一个库是 Pandas。 Pandas 是Python中的数据分析库,可用于数据集的操作。

为了使用altair从给定的数据集创建条形图,使用了 altair模块的Chart类。

句法:

让我们考虑以下使用给定数据集的示例。

示例 1:

在此程序中,我们将更改颜色或突出显示条形图中评分大于或等于 80 的名称

Python3
# Import required module
import altair as alt
import pandas as pd
  
  
df = pd.read_csv("cereal.csv")
alt.Chart(df).mark_bar().encode(
    x='name',
    y="rating",
      
    # The highlight is set based on the result 
    # of the conditional statement
    color=alt.condition(
        alt.datum.rating >= 80,  # If the rating is 80 it returns True,
        alt.value('green'),      # and the matching bars are set as green.
        # and if it does not satisfy the condition 
        # the color is set to steelblue.
        alt.value('steelblue')
    )
).properties(width=500)


Python3
# Import required module
import altair as alt
import pandas as pd
  
  
df = pd.read_csv("cereal.csv")
alt.Chart(df).mark_bar().encode(
    x='name',
    y="rating",
      
    # The highlight is set based on 
    # the result of the conditional statement
    color=alt.condition(
        alt.datum.rating >= 60,  # If the rating is 80 it returns True,
        alt.value('green'),      # and the matching bars are set as green.
        # and if it does not satisfy the condition 
        # the color is set to steelblue.
        alt.value('steelblue')
    )
).properties(width=500)


输出

示例 2:

在这里,我们将更改颜色或突出显示条形图中评分大于或等于 60 的名称

蟒蛇3

# Import required module
import altair as alt
import pandas as pd
  
  
df = pd.read_csv("cereal.csv")
alt.Chart(df).mark_bar().encode(
    x='name',
    y="rating",
      
    # The highlight is set based on 
    # the result of the conditional statement
    color=alt.condition(
        alt.datum.rating >= 60,  # If the rating is 80 it returns True,
        alt.value('green'),      # and the matching bars are set as green.
        # and if it does not satisfy the condition 
        # the color is set to steelblue.
        alt.value('steelblue')
    )
).properties(width=500)

输出

解释

首先,导入altair模块和pandas模块。使用 pandas 库的 read_csv 方法将数据集加载到数据框 'df' 中。数据集已经存在于本地系统中,因此我们只提到了文件名。但是,对于在线数据集,可以指定 URL。调用altair模块的Chart类,传递数据框。指定图表的标记类型(此处为条形类型),最后指定编码,包括设置图表的 X 和 Y 轴并为条形指定颜色。调用条件函数并声明一个条件。满足条件的数据将条形颜色值设置为绿色,其余不满足条件的数据将值设置为钢蓝色。最后,使用properties()方法将可视化的宽度设置为 500px。该图表是针对品牌名称的评级绘制的。结果显示在图表中。