作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个条形图,它显示了一堆值,从高到低排列。但是我有太多(〜100)。我想制作一个省略中间排名值的条形图,以显示具有最高值的条形图和具有最低值的条形图,这与 Pandas 的 DataFrame 默认显示不同,后者显示前 20 个左右的值,然后是 ...
,然后是最后 20 个左右。所以基本上是一个看起来像这样的图表:
X
XXX
XXXXX
XXXXX ... X
我总是可以创建一个只省略这些值的 DataFrame,但如果能以可视化方式表示该省略会更好。那可能吗?
最佳答案
我不知道在 Altair 中有什么直接的方法可以做到这一点,但是您可以破解您的 DataFrame 以提供一些不连续性的视觉指示,如下所示:
import pandas as pd
import altair as alt
from vega_datasets import data
raw = data.airports()
df = (raw[raw.country == "USA"]
.groupby("state")
.iata.count()
.rename("number_of_airports")
.sort_values(ascending=False).reset_index()
)
top_bottom = pd.concat(
(df.head(5), pd.DataFrame(data=[["...", 0]], columns=df.columns), df.tail(5)),
ignore_index=True
)
alt.Chart(
top_bottom.reset_index()
).mark_bar().encode(
alt.X("state",
sort=alt.EncodingSortField(field="index", op="sum"),
axis=alt.Axis(labelAngle=0)
),
y="number_of_airports"
)
关于python - 在 Altair (Python) 中,有没有办法省略条形图的中间值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57827022/
我是一名优秀的程序员,十分优秀!