显示大熊猫密度图中的平均线

时间:2016-12-14 13:53:48

标签: python pandas matplotlib plot

我使用.plot()方法

创建一个图形
 Unmarshal(response.entity).to[String].flatMap { body =>
Future.failed(new IOException(s"The response status is ${response.status} response body is $body"))}

enter image description here

我不使用“plt”对象创建图形:有没有办法用.plot()的参数显示虚线作为平均值。

我总是很不清楚如何处理属性和plt之间的区别:

df['age'].plot(kind='density')

enter image description here

此外,我如何注释靠近虚线的平均值?

1 个答案:

答案 0 :(得分:5)

# Set seed to reproduce the results
np.random.seed(42)
# Generate random data
df = pd.DataFrame(dict(age=(np.random.uniform(-20, 50, 100))))

# KDE plot
ax = df['age'].plot(kind='density')
# Access the child artists and calculate the mean of the resulting array
mean_val = np.mean(ax.get_children()[0]._x)
# Annotate points
ax.annotate('mean', xy=(mean_val, 0.008), xytext=(mean_val+10, 0.010),
            arrowprops=dict(facecolor='black', shrink=0.05),
            )
# vertical dotted line originating at mean value
plt.axvline(mean_val, linestyle='dashed', linewidth=2)

enter image description here

选择切片0,因为它对应于matplotlib.lines.Line2D轴对象的位置。

>>> np.mean(ax.get_children()[0]._x)
14.734316880344197