python - altair 置信区间图
问题描述
我希望使用 altair 创建一个类似于附图的图,该图是使用 matplotlib 绘制的。基本上,一条绘制均值的线和一个置信区间。
我的数据框看起来像这样。
dfr = pd.DataFrame(list(zip(mean, lower, upper)),
columns=["Mean", "Lower", "Upper"],
index=pd.RangeIndex(46, name="x"))
知道如何实现这一目标吗?我无法弄清楚 altair 的语法。谢谢
解决方案
您可以通过将线图和面积图分层来做到这一点。例如:
import altair as alt
import numpy as np
import pandas as pd
np.random.seed(9)
mean = np.random.randn(46).cumsum()
lower = mean - 2
upper = mean + 2
dfr = pd.DataFrame(list(zip(mean, lower, upper)),
columns=["Mean", "Lower", "Upper"],
index=pd.RangeIndex(46, name="x"))
line = alt.Chart(dfr.reset_index()).mark_line().encode(
x='x',
y='Mean'
)
band = line.mark_area(opacity=0.5).encode(
x='x',
y='Lower',
y2='Upper'
)
band + line
推荐阅读
- go - goroutine 不尊重 ctx.done() 或正确退出
- android - 如何计算 Kotlin Android 中的单词数?
- ios - SpriteKit:使用 SKShapeNode UIBezierPath 圆角的方形到圆形动画
- python-3.6 - Python3:从 json 打印特定值
- go - 去 httputil.ReverseProxy 不覆盖主机头
- php - Laravel 队列监听器超时
- r - 可格式化对象的粗体行名称
- python - 在 Python 3 中,单字节 (\xd0) 打印为两个字节的序列 (\xc3\x90)
- google-chrome - Windows 10 中的 chrome kiosk 模式,关闭 chrome 的正确方法
- php - 尝试在两个不同的表中输入数据时mysqli查询重复