gpt4 book ai didi

python - Python 中的 R 函数 geom_freqpoly 等效于绘制频率多边形

转载 作者:太空宇宙 更新时间:2023-11-04 02:00:45 26 4
gpt4 key购买 nike

如何在 Python 中绘制频率多边形?

例如,我可以这样绘制密度图:

import pandas as pd

x = (1.5,1.5,1.5,1.5,1.5,1.5,1.5,
2.5,2.5,2.5,
3.5,3.5,3.5,3.5,3.5,3.5,
4.5,4.5,
6.5,6.5,6.5,6.5,6.5,6.5,6.5,6.5)

df = pd.DataFrame({'x': x})
#df.head()

df.plot(kind='density')

这给出:

enter image description here

但是,我想要这样的多边形:

library(ggplot2)

x = c(1.5,1.5,1.5,1.5,1.5,1.5,1.5,
2.5,2.5,2.5,
3.5,3.5,3.5,3.5,3.5,3.5,
4.5,4.5,
6.5,6.5,6.5,6.5,6.5,6.5,6.5,6.5)

df = data.frame(x=x)
# head(x)

ggplot(data=df, mapping = aes(x=x)) +
geom_freqpoly(binwidth=2)

enter image description here

更新
我尝试了@Quang Hoang 的解决方案来解决 Hadley 在“R for Data Science”一书中给出的问题,并得到了类似的结果。

书:

enter image description here enter image description here

我已经保存了从 R 中获取的 nycflights13 数据并将其放在 github 中。

这是我试图获得相同情节的尝试:

import numpy as np
import pandas as pd
import seaborn as sns

flights = pd.read_csv('https://github.com/bhishanpdl/Datasets/blob/master/nycflights13.csv?raw=true')

not_cancelled = flights.dropna(subset=['dep_delay','arr_delay'])
not_cancelled.dep_delay.isnull().sum(), not_cancelled.arr_delay.isnull().sum()

delays = not_cancelled.groupby('tailnum')['arr_delay'].mean().reset_index()


x = delays.arr_delay.values
m = int(x.max())
counts, bins = np.histogram(x, bins=range(-80,m,10))
plt.plot(bins[:-1]+1, counts)

enter image description here

最佳答案

我能够用

复制R图
counts, bins = np.histogram(df.x, bins=range(-1,10,2))
plt.plot(bins[:-1]+1, counts)

输出:

enter image description here

但是,如果您不确定自己在寻找什么,则很难说出一般情况下要修改哪个/如何修改。

关于python - Python 中的 R 函数 geom_freqpoly 等效于绘制频率多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55777353/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com