matplotlib 将直方图从Pandas数据框转换为散点图

yfjy0ee7  于 2023-03-30  发布在  其他
关注(0)|答案(1)|浏览(135)

我有一个histogram:

# Lets load a dataset of house prices in Boston. 
from sklearn.datasets import load_diabetes
#sklearn gives you the data as a dictionary, so 
diabetes = load_diabetes(as_frame=True)
data = diabetes['frame']
import matplotlib.pyplot as plt
%matplotlib inline
bmi_hist = plt.hist(data['bmi'], density=False)
bmi_hist = plt.ylabel("Frequency")
bmi_hist = plt.xlabel("Normalized BMI")
bp_hist = plt.hist(data['bp'], density=False)
bp_hist = plt.ylabel("Frequency")
bp_hist = plt.xlabel("Normalized BP")

这是上图中两列的直方图。我想在散点图中比较这两列。我的尝试不太成功,因为我知道我需要一个X和一个Y来绘制。我想我会使用与直方图相同的轴:

y_bmi = data['bmi'].value_counts() # frequency
x_bmi = data['bmi'] # normalized value
ax1 = df.plot.scatter(x = x_bmi, y= y_bmi, c='DarkBlue')

但是这只能在'dataframe'上使用,所以我必须将bmi列的值重复到新的dataframe中吗?或者有更简单的方法吗?

任何帮助将不胜感激非常感谢。

lmvvr0a8

lmvvr0a81#

data'bmi','bp'.plot(kind='hist',ec='k',alpha=0.5,figsize=(5,4))是一个更容易实现的直方图。

相关问题