创建具有高/低和百分位框以及其他点的图表

时间:2016-03-22 14:38:31

标签: python matplotlib finance

您好我想用matplotlib和pandas重新创建以下情节。 我开始使用boxplot,但我正努力操纵kwargs。 有没有一种简单的方法来使用boxplot或者我是否需要重新创建图表。 我遇到的一个问题是还添加了当前的数据? 最好的问候

Correlation Plot

1 个答案:

答案 0 :(得分:1)

来自matplotlib的boxplot确实存在一些局限性。为了让你完全控制情节的外观,我建议使用Patches来绘制Rectangles例如(来自矩形链接的代码):

import matplotlib.pyplot as plt
import matplotlib.patches as patches

fig1 = plt.figure()
ax1 = fig1.add_subplot(111, aspect='equal')
ax1.add_patch(
    patches.Rectangle(
        (0.1, 0.1),   # (x,y)
        0.5,          # width
        0.5,          # height
    )
)
fig1.savefig('rect1.png', dpi=90, bbox_inches='tight')

这很有用,因为在matplotlib中你只需要这个和一个普通的plot命令(用于行)来做一个箱形图。这将使您对颜色和形状有很大的控制,而且构建起来相当容易。您还需要有文本,您可以使用matplotlib text。最后一件事是那些非常适合scatter的标记。

箱形图是一种形状,可以告诉您最小,最大和百分位数(25,50,75)等信息。您可以使用numpy percentile轻松计算出来。

图表的详细信息(底部的标签,图例,标题框等)也可以实现,但要修改标签,手动构建标题框等等。

它会给你一些工作,但这些是你需要的命令。