zoukankan      html  css  js  c++  java
  • 数据分析——matplotlib的用法

    Matplotlib是一个强大的Python绘图和数据可视化的工具包。数据可视化也是我们数据分析的最重要的工作之一,可以帮助我们完成很多操作,例如:找出异常值、必要的一些数据转换等。完成数据分析的最终结果也许就是做一个可交互的数据可视化

    安装方式: pip install matplotlib

    引用方法:import matplotlib.pyplot as plt

    一、plot函数(绘制折线图)

    • 线型linestyle(-,-.,--,..)
    • 点型marker(v,^,s,*,H,+,X,D,O,...)
    • 颜色color(b,g,r,y,k,w,...)

    # 解决乱码问题(中文不显示)
    plt.rcParams['font.sans-serif'] = ['SimHei']

    x = [1,2,3]
    y = [2,4,9]
    
    plt.figure(figsize=(20,6))   #设置画布的大小
    
    plt.title('标题', fontsize=20, color='red')  #设置标题
    plt.xlabel('x轴', fontsize=15)  #设置x轴名称
    plt.ylabel('y轴', fontsize=15)  #设置y轴名称
    
    # plt.plot?
    # plt.plot(x,y, color='green', marker='v', linestyle='--')
    plt.plot(x, y)
    
    plt.show()

     图像标注

    方法描述 
    plt.title() 设置图像标题  
    plt.xlabel() 设置x轴名称  
    plt.ylabel() 设置y轴名称  
    plt.xlim() 设置x轴范围  
    plt.ylim() 设置y轴范围  
    plt.xticks() 设置x轴刻度  
    plt.yticks() 设置y轴刻度  
    plt.legend() 设置曲线图例
    plt.plot([0,3,9,15,30],linestyle = '-.',color = 'r',marker = 'o',label="A") 
    plt.plot([1,3,16,23,30],[30,23,13,25,30],label='B')
    plt.title("Title")  # 标题
    plt.xlabel('X')  # x轴名称
    plt.ylabel('Y')  # y轴名称
    
    plt.xticks(np.arange(0,30,2))  # x轴刻度
    plt.xlim(-0.2,10,2)  # x轴范围
    plt.legend()  # 曲线图标
    plt.show()

     支持的图类型

    函数说明 
    plt.plot(x,y,fmt) 折线图  
    plt.boxplot(data,notch,position) 箱型图  
    plt.bar(left,height,width,bottom) 柱状图  
    plt.barh(width,bottom,left,height) 横向柱状图  
    plt.polar(theta,r) 极坐标系  
    plt.pie(data,explode) 饼图  
    plt.psd(x,NFFT=256,pad_to,Fs) 功率谱密度图  
    plt.specgram(x,NFFT=256,pad_to,F) 谱图  
    plt.cohere(x,y,NFFT=256,Fs) X-Y相关性函数  
    plt.scatter(x,y) 散点图  
    plt.step(x,y,where) 步阶图  
    plt.hist(x,bins,normed) 直方图

    二.柱状图

    x = movies.index   #索引值
    y = movies.values   #数据值
    
    plt.figure(figsize=(15,6))   #设置画布大小
     
    plt.bar(x, y, color='blue')   #柱状图用bar
    plt.title('每个国家或者地区的电影数量')
    
    plt.xlabel('国家或地区', fontsize=20)
    plt.ylabel('电影数量', fontsize=20)
    plt.xticks(rotation=90, fontsize=15)  #x轴数据旋转90度
    
    # plt.text?
    for a,b in zip(x,y):
        plt.text(a, b+100, b, ha='center')  #柱状图上面的文字
    
    plt.show()

     三.饼图

    饼图是计算某一范围内数据的百分比,那么先要切分统计每个范围内的数据百分比

    先切分,使用cut

    data = pd.cut(s.astype('float'), [0,60,90,110,1000]).value_counts()

    使用pie做饼状图

    x = data.index
    y = data.values
    
    plt.figure(figsize=(10,6))
    plt.title('电影时长分布图')
    patchs, l_text, p_text = plt.pie(y, labels=x, autopct='%0.2f%%', colors='bgry', startangle=90)
    
    for i in p_text:
        i.set_size(15)
        i.set_color('w')  #饼状图内百分比样式设计
    
    for l in l_text:    
        l.set_size(20)
        l.set_color('r')   #饼状图外范围设计
        
    plt.show()

    四.保存图表

    plt.savefig('123.pdf')
  • 相关阅读:
    ROS入门笔记(三):二进制包与源代码包
    zsh 使用通配符功能
    Linux显示行号设置
    Linux、Ubuntu、CentOS安装和配置zsh
    Python中出现 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 12-13: truncated UXXXXXXXX escape
    Python数据分析:pandas玩转Excel(三)
    【WP8】ScrollViewer滑动到底触发器(ListBox失效)
    【WP8】扩展CM的INavigationService方法
    【WP8】仿QQ提示消息
    【WP8】键盘弹出时控制Frame位置
  • 原文地址:https://www.cnblogs.com/wangcuican/p/11985690.html
Copyright © 2011-2022 走看看