首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QQ-用Plotnine在Python中绘图

QQ-用Plotnine在Python中绘图
EN

Stack Overflow用户
提问于 2022-01-21 08:51:13
回答 1查看 184关注 0票数 1

我想用Python中的QQ绘图来绘制一个理论分布的值数组。理想情况下,我希望使用库Plotnine创建绘图。

但当我试图创造情节的时候,我会收到错误信息.下面是我的代码和示例数据:

代码语言:javascript
复制
from scipy.stats import beta
from plotnine import *
import statsmodels.api as sm
import numpy as np

n = 207
values = -1 + np.random.beta(n/2-1, n/2-1, 100) * 2 # my data
dist = beta(n/2-1, n/2-1, loc = -1, scale = 2) # theoretical distribution

# 1. try:
ggplot(aes(sample = values)) + stat_qq(distribution = dist)
# gives ValueError: Unknown continuous distribution '<scipy.stats._distn_infrastructure.rv_frozen object at 0x0000029755C5C070>'

# 2. try:
params = {'a':n/2-1, 'b':n/2-1, 'loc':-1, 'scale':2}
ggplot(aes(sample = values)) + stat_qq(distribution = 'beta', dparams = params)
# gives TypeError: '>' not supported between instances of 'numpy.ndarray' and 'int'

有人知道我做错了什么吗?

当我尝试使用statsmodels绘图时,它似乎工作得很好:

代码语言:javascript
复制
sm.qqplot(values, dist, line = '45')

一如既往,任何帮助都是非常感谢的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-18 20:31:36

这是一个plotnine,在修复之前,您可以尝试以元组的形式传递参数,而不是dict。但是,要小心参数的位置匹配(a,b,loc,刻度)

编辑

在当前的plotnine开发版本中,错误是固定的,您可以使用dict传递参数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70798622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档