Altair:具有自定义分组的数字变量上的刻面

2024-09-27 22:11:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个学术期刊数据集和各种相关措施。一个衡量标准是0-15级,它代表了一本杂志对我们校园的“重要性”(虽然不完全,但仍然如此)

我想做一系列散点图,列出使用率(y)和成本(x),然后按层划分它们。我可以得到一个刻面的图表,但它可以制作16个单独的图表。我找到了一种指定排序顺序的方法,但它似乎只接受字符串(GOOG、MSFT示例)

我想要的是基于层组(即数字值)指定刻面-有一个图形显示数据点的散点图,但仅使用层1-4中这些日志中的数据。然后是第5-8层、第9-12层和第13-15层。我似乎找不到一种方法来指定一组连续值

CPU_2020_with_1figrTier = alt.Chart(df[filt]).mark_circle(size=75, opacity=0.5).encode(
    alt.X('Total Cost:Q', axis=alt.Axis(format='$,.2r'), scale=alt.Scale(clamp=True)),
    alt.Y('CPU_2020:Q', title='Cost per Use 2020'), #scale=alt.Scale(type='log')
    color=alt.Color('1figr Tier:N'),# scale=subscribed_colorscale),   #Nominal data type
    tooltip=['Title Name','Format','1figr Tier', 'Total Cost', 'CPU_2020', 'Decision'],
    ).interactive().properties(
        height=150,
        title={
            "text": ["CPU_2020 vs. Cost, color-coded by 1figr Tier (where available)"],
            "subtitle": ["Hold"],
            "color": "black",
            "subtitleColor": "gray"
        }
        ).facet(
            row=alt.Row('1figr Tier:N'))

https://ibb.co/YPV84nH处的当前输出屏幕截图


Tags: 数据方法titletype图表cpualttier
1条回答
网友
1楼 · 发布于 2024-09-27 22:11:35

任何时候,当您想要存储一个值时,您都可以使用与生成直方图相同的bin transform;不同之处在于,装箱不是在x编码中,而是在column编码中

下面是一个快速示例,演示了这一点,希望您可以修改它以用于数据:

import altair as alt
import pandas as pd
import numpy as np

df = pd.DataFrame({
    'x': np.random.rand(500),
    'y': np.random.randn(500),
    'tier': np.random.randint(0, 15, 500),
})

alt.Chart(df).mark_point().encode(
    x='x:Q',
    y='y:Q',
    column=alt.Column('tier:Q', bin=alt.Bin(minstep=5))
).properties(width=300)

enter image description here

相关问题 更多 >

    热门问题