如何解决Python Altair 绘制两个标准偏差
有没有办法制作一个显示两个偏差标准的 Python altair 图?使用 mark_errorbar(extent='stdev')
仅显示一个标准差。
# Only shows one standard deviation.
alt.Chart(data).mark_errorbar(extent='stdev').encode(
x=alt.X('quantity:O',title='Quantity'),y=alt.Y('value:Q',title='Value')
)
解决方法
没有允许您使用 mark_errorbar
执行此操作的参数值,但您可以在 Pandas 中预先计算它并使用 mark_rule
和 y
+ {{1} }:
y2
您也可以使用 Altair 中的转换而不是使用熊猫来获得相同的结果。
import altair as alt
from vega_datasets import data
source = data.cars()
hp_agg = (
source
.groupby('Origin')
['Horsepower']
.agg(['mean','std'])
.assign(error_lower = lambda df: df['mean'] - 2 * df['std'],error_upper = lambda df: df['mean'] + 2 * df['std'])
.reset_index())
error_bars = alt.Chart(hp_agg).mark_rule().encode(
x='Origin',y='error_lower',y2='error_upper')
means = alt.Chart(hp_agg).mark_circle(color='black').encode(
x='Origin',y='mean')
error_bars + means
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。