当前位置 博文首页 > python学习之plot函数的使用教程

    python学习之plot函数的使用教程

    作者:python小白(下阶段小 时间:2021-07-09 18:40

    在python环境中,若要绘制图形,一定离不开plot函数

    那么,如何使用呢?

    首先,你需要导入plot函数:

    import matplotlib.pyplot as plt
    

    导入之后,就可以为您的数据绘制各种形式的图了:

    plt.rcParams['font.sans-serif'] = ['KaiTi']
    

    上面代码是要引入中文字体,本次引入的是'楷体',避免想要绘制中文标签时出错

    path = input('请输入原始数据地址:') 
    exceldata = pd.read_excel(path,sheet_name='Sheet1',usecols='A:B')
    data0 =pd.Series( pd.DataFrame(exceldata)['Y'].values,index=pd.DataFrame(exceldata)['X'].values)
    data0.plot(figsize=(10,8),label='原始序列')
    
    data = data0.diff(1).dropna()
    data1 = data0.diff(2).dropna()
    
    
    plt.plot(data,label='一次差分')
    plt.plot(data1,label='二次差分')
    

    以上代码是要绘制此次实验的数据,并为每个数据打上不同的标签,即label,数据的形式如下:

    0  14
    40  12.93223
    80  15.00994111
    120  15.11821
    160  13.59807667
    200  13.058885
    240  13.38437
    280  14.64122333
    320  14.79041667
    360  14.769968
    400  14.600495
    440  15.26557
    480  16.17001143
    520  15.14241389
    560  16.05594567
    600  15.846219
    640  17.554472
    680  18.63172583
    720  17.679506
    760  16.63821267
    800  16.04232389
    840  15.68626833
    880  14.22880733
    920  12.78894417
    960  11.7427275
    1000 11.61623917
    1040 11.648279
    1080 10.577219
    1120 9.668460833
    1160 9.840733889
    1200 10.57967833
    1240 10.52352333
    1280 10.139144
    1320 9.405784
    1360 8.267008
    1400 7.160510833
    1440 6.426746667
    1480 6.146541111
    1520 4.554763636
    1560 3.680545455
    1600 2.806327273
    1640 1.928690417
    1680 0.98609875
    1720 2.846252222
    1760 4.965133333
    1800 7.0716
    1840 10.4339
    1880 14.8237

    但是当你plt.show()时,他却不显示标签,效果如下:

    问题出在哪里呢?经过分析终于找出了问题所在,原来在plot时,若要显示标签,就必须加入以下这句代码:

    plt.legend()#为图打上标签
    

    再运行,就可以显示标签啦!

    plt.legend()
    plt.show()
    

    效果如下:

    总结:

    python中的plot函数功能十分强大,且灵活度高,您可以绘制出任意风格的图案,从平面到立体均可,本次文章主要讲述如何正确打上以及显示中文标签,若您在使用plot时遇到其他问题,欢迎咨询!文中若有不足或疏漏指出,还望指正!

    jsjbwy