美文网首页
matplotlib plt画图

matplotlib plt画图

作者: ddm2014 | 来源:发表于2018-06-16 22:20 被阅读0次

    python画图工具matplotlib.pyplot简称plt,提供折线,散点等图形,对数据可视化有重要作用。说几个我平时用得到。
    当然网上说的plot是折线图,里面可以变颜色,变形状...scatter是散点图等等,我开始用的时候总感觉比较懵逼的,到后来总算明白了其中的套路。
    比如还是画一只股票的走势图,最简单的折线图,数据就是这样。
    gf = ts.get_k_data('601888', start='2017-08-09', end='2017-08-23')
    gf = gf.reset_index(drop=True)

    1.figure与axes

    fig = plt.figure()
    这是我第一个懵逼的句子,感觉有些时候用有些时候不用也行,我知道这是新生成一个图,但是不明白有啥用。
    后来明白这是要联合增加子图用。三个参数是行,列,位置。比如
    ax = fig.add_subplot(2,1,1)
    那就是说要把这个图分成两个子图,2行1列这个子图是放第一个,换句话说就是一个图分成上下两个,这是上面一个。
    然后在这个子图上画图。
    整体说来,figure像是电脑桌面,axes像是图标。

    图标里面是具体的图,添加折线像这样。
    ax.plot(gf['high'])
    要画第二条折线或者其他图,就继续在ax上画就好了
    ax.plot(gf['low'])
    不过有个限制,在一个子图上的所有数据不能差值太大,比如股价一个是(30,50)另一个成交量(20000,50000)就用出现一根线有折线曲率,另一根就会变成直线。
    遇到这种情况,要么把成交量放在第二个子图上,要么把两列normalize,但是这样会更改原始数据,就看如何取舍了。
    第二个子图就是ax1 = fig.add_subplot(2,1,2)

    如果没有子图需求,直接plt.plot(gf['high'])就行了,这种是默认在一个子图上画。

    2.核心功能
    最核心的就是折线plot,散点scatter,柱状hist,圆饼图pei,箱体图boxplot等统计用图,基本用法其中比较重要的参数是:
    plt.plot(gf['high'],'r--'),折线可以更改颜色,形状等等。'r--'代表红色--形状的线
    plt.hist(gf['high'],bins=50) bins柱状图的个数
    plt.scatter(gf['high'],gf['low'],c=label) c=label传入一列分类数组,会把不同类别的点用不同颜色表示出来。

    3.其他功能
    现在我用的比较多的辅助功能有
    plt.xlabel('x坐标名字')
    plt.ylabel('y坐标名字')
    plt.yticks(np.linspace(start, end, 10))y坐标以start为第一格,end值为最后一格,分为10格显示,对数坐标?
    plt.xticks()自定义x坐标轴的间隔
    ax.axvline(x坐标值)在x坐标值的位置画一条竖线
    ax.axhline(x坐标值)在y坐标值的位置画一条横线
    plt.grid()网格化
    plt.show()

    其他我没咋用到的:
    plt.xlim()x轴取值范围
    plt.ylim()y轴取值范围
    或者plt.axis([xmin, xmax, ymin, ymax])
    plt.legend()添加图例

    相关文章

      网友评论

          本文标题:matplotlib plt画图

          本文链接:https://www.haomeiwen.com/subject/uacnjftx.html