彩世界平台-彩世界时时app-彩世界开奖app苹果下载

热门关键词: 彩世界平台,彩世界时时app,彩世界开奖app苹果下载

您的位置:彩世界平台 > 彩世界平台 > 使用Python绘制图表大全总结,python绘制图表大全

使用Python绘制图表大全总结,python绘制图表大全

发布时间:2019-09-02 16:08编辑:彩世界平台浏览(162)

    Python 绘制图表之我见,python绘制图表

     

     


    环境:
    win 10  . python3.5


    前言:

    在学些java的GUI编程过程中,给我印象最深的有三点:
           1) 所有与‘绘制’相关的方法应该在show() 方法调用之前调用

           2) java 语言中会继承/调用一个与绘图相关的对象(JFrame之类)来处理’绘制‘ 工作

           3)  java中的GUI程序都是一层一层的panel 嵌套实现的。

    这三点小小的编程经验,会对python的图表制作有一定的帮助。

     

    对于科研工作的小白菜来说,绘图往往是实验报告的重点。 因此很多人会喜欢matlab , python 这种方便的语言做为数学和科学处理工具。 我本人是学软件开发出身的,接触的第一门语言是面向对象的语言--java。 首次接触python, 还没有搞懂里面的套路。希望借此博文作为学习笔记.

    不多说., 先上图: 

    这是我们要实现的效果图。

     

    首先看看一个默认plt对象调用show()方法的效果:( 2) java 语言中会继承/调用一个与绘图相关的对象(JFrame之类)来处理’绘制‘ 工作    python 中的plt也是可以看做一个对象的, 在调用show()的时候帮我们实现很多细节,比如这个程序的Title )

     

     

     

    下面开始讲解绘制图图片的套路。

     

    导入所需要的包:
    我们绘图所使用的工具是  matplotlib , 这个工具中的很多方法和matlab类似。

    如果我们能、还需要对数据进行科学处理。那么numpy也要导入。

    同时我们为了保存文件,需要调用一些操作系统级的命令,所以也会使用os

    所以首先会:

     

    import os
    import matplotlib.pyplot as plt
    import numpy as np
    

     

    导入之后, 假设我们已经有了数据:

    Xdata = [512, 1536, 2048, 3072, 4096, 4608, 5632, 6144, 7168, 8192, 9216, 9728, 10752, 11776, 12800, 14336, 15360,
             17408, 27990]
    Ydata = [1.1285, 1.5314, 1.2771, 0.9415, 0.7562, 0.6966, 0.597, 0.5559, 0.5, 0.4706, 0.4302, 0.4123, 0.3807, 0.3559,
             0.3419,
             0.3147, 0.299, 0.2741, 0.2008]
    
     
    
     
    

    同时我们也知道了plt的一些基本函数:

    plt.clf()   清除当前的图表
    
    plt.title('1') 为图表设置标题为1 
    
    plt.xlabel('samples')  设置图表中x轴的名称为samples
    
    plt.ylabel('loss value') 设置图表中y轴的单位名称 loss value
    
    plt.ylim(ymin=0) 设置y 的最小值
    
    plt.ylim(ymax=2) 设置y轴的最大值
    
    plt.savefig(fname) 保存图像 ,fname是图表的绝对路径。
    
    plt.show() 显示当前的图像。
    
    知道了这些方法还不够 ,最多可以实现下图的效果。 毕竟我们还不知道数据是如何‘画在图表’上的。
    

     

    这个效果似乎还是不够好,. 我们希望可以在图表plt上有参考线:

    plt.grid(True, linestyle='-', color='0.75')  # 句话应该贼show()方法调用之前调用,因为 :所有与‘绘制’相关的方法应该在show() 方法调用之前调用
    
     
    

     

    有了这个之后, 我们最好绘制出点:

     

    plt.scatter(x, y, marker ='*')# 将x[],y[] 数组中的(x[i],y[i]) 作为一个坐标点绘制到图标上,并且使用* 号做点的标记
    
    或者
    
    plt.plot(x, y, 'r')  # 将x[],y[] 数组中的(x[i],y[i]) 作为一个坐标点绘制到图标上,并且使用红色的线连接
    
    同上,还有还有很多默认的参数可以指定。plt.plot(x, y, linestyle=lineStyles[0], linewidth=1.5, c=colors[0])  # plot point
    
     
    
    这两句话可以一起调用:
    
    plt.scatter(x, y, marker ='*')
    
    plt.plot(x, y, linestyle=lineStyles[0], linewidth=1.5, c=colors[0])  # plot point
    
    效果如下: 
    
    有没有发现之前画出的红色的线被绿色的线覆盖了,这点很像(java中的GUI程序都是一层一层的panel 嵌套实现的。)
    
    细心的你一定还会发现 在图表的右上角有每一条先线的标志
    
    plt.legend(["d=%i" %m for m in [1,2,3]], loc="upper left")
    
     # 这句话会将每一个图表标志放在右上角,并且给每一图表起名字为 1 2 3 
    
     
    
     
    

     

    最后:

     

    plt.savefig(fname)  ## 保存图像 
    
     
    
    最后关于绘制网格线 还可以使用
    
    plt.xticks(x) x是即将绘制的网格线的向量
    plt.yticks(y) y是即将绘制网格线的y轴的向量
    
     
    

    绘制图表之我见,python绘制图表 ---------------- 环境: win 10 . python3.5 ----------------- 前言: 在学些java的GUI编程过程中,给我印象最深的...

    使用Python绘制图表大全总结,python绘制图表大全

    在使用Python绘制图表前,我们需要先安装两个库文件numpy和matplotlib。

    Numpy是Python开源的数值计算扩展,可用来存储和处理大型矩阵,比Python自身数据结构要高效;matplotlib是一个Python的图像框架,使用其绘制出来的图形效果和MATLAB下绘制的图形类似。

    下面我通过一些简单的代码介绍如何使用 Python绘图。

    一、图形绘制

    图片 1

    直方图

    importmatplotlib.pyplotasplt
    
    importnumpyasnp
    
    mu=100
    
    sigma=20
    
    x=mu+sigma*np.random.randn(20000)# 样本数量
    
    plt.hist(x,bins=100,color='green',normed=True)# bins显示有几个直方,normed是否对数据进行标准化
    
    plt.show()
    

    条形图

    importmatplotlib.pyplotasplt
    
    importnumpyasnp
    
    y=[20,10,30,25,15]
    
    index=np.arange(5)
    
    plt.bar(left=index,height=y,color='green',width=0.5)
    
    plt.show()
    

    折线图

    importmatplotlib.pyplotasplt
    
    importnumpyasnp
    
    x=np.linspace(-10,10,100)
    
    y=x**3
    
    plt.plot(x,y,linestyle='--',color='green',marker='<')
    
    plt.show()
    

    散点图

    importmatplotlib.pyplotasplt
    
    importnumpyasnp
    
    x=np.random.randn(1000)
    
    y=x+np.random.randn(1000)*0.5
    
    plt.scatter(x,y,s=5,marker='<')# s表示面积,marker表示图形
    
    plt.show()
    

    饼状图

    importmatplotlib.pyplotasplt
    
    importnumpyasnp
    
    labels='A','B','C','D'
    
    fracs=[15,30,45,10]
    
    plt.axes(aspect=1)#使x y轴比例相同
    
    explode=[0,0.05,0,0]# 突出某一部分区域
    
    plt.pie(x=fracs,labels=labels,autopct='%.0f%%',explode=explode)#autopct显示百分比
    
    plt.show()
    

    箱形图

    主要用于显示数据的分散情况。图形分为上边缘、上四分位数、中位数、下四分位数、下边缘。外面的点时异常值

    importmatplotlib.pyplotasplt
    
    importnumpyasnp
    
    np.random.seed(100)
    
    data=np.random.normal(size=(1000,4),loc=0,scale=1)
    
    labels=['A','B','C','D']
    
    plt.boxplot(data,labels=labels)
    
    plt.show()
    

    二、图像的调整

    1、23种点形状

    "."point","pixel"o"circle"v"triangle_down
    
    "^"triangle_up"<"triangle_left">"triangle_right"1"tri_down
    
    "2"tri_up"3"tri_left"4"tri_right"8"octagon
    
    "s"square"p"pentagon"*"star"h"hexagon1"H"hexagon2
    
    "+"plus"x"x"D"diamond"d"thin_diamond
    

    2、8种內建默认颜色的缩写

    b:blueg:greenr:redc:cyan
    
    m:magentay:yellowk:blackw:white
    

    3、4种线性

    - 实线 --虚线 -.点划线 :点线

    4、一张图上绘制子图

    图片 2

    importmatplotlib.pyplotasplt
    
    importnumpyasnp
    
    x=np.arange(1,100)
    
    plt.subplot(221)#2行2列第1个图
    
    plt.plot(x,x)
    
    plt.subplot(222)
    
    plt.plot(x,-x)
    
    plt.subplot(223)
    
    plt.plot(x,x*x)
    
    plt.subplot(224)
    
    plt.plot(x,np.log(x))
    
    plt.show()
    

    5、生成网格

    图片 3

    importmatplotlib.pyplotasplt
    
    importnumpyasnp
    
    y=np.arange(1,5)
    
    plt.plot(y,y*2)
    
    plt.grid(True,color='g',linestyle='--',linewidth='1')
    
    plt.show()
    

    6、生成图例

    图片 4

    importmatplotlib.pyplotasplt
    
    importnumpyasnp
    
    x=np.arange(1,11,1)
    
    plt.plot(x,x*2)
    
    plt.plot(x,x*3)
    
    plt.plot(x,x*4)
    
    plt.legend(['Normal','Fast','Faster'])
    
    plt.show()
    

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持帮客之家。

    在使用Python绘制图表前,我们需要先安装两个库文件numpy和matplotlib。 Numpy是Python开源的数值...

    本文由彩世界平台发布于彩世界平台,转载请注明出处:使用Python绘制图表大全总结,python绘制图表大全

    关键词:

上一篇:Python的字符串索引和分片

下一篇:没有了