数据分析——matplotlib
基础
1 # coding=utf-8 2 import matplotlib.pyplot as pt 3 import numpy as np 4 from matplotlib import font_manager # 字体管理 5 6 # pt.figure(num='ljb',facecolor='y',figsize=(8,6)) #num画框名,facecolor画框颜色,figsize画框大小(宽,高) 7 # pt.subplot(1,2,1) #子画框,1行1列1号位置 8 # X = np.linspace(-np.pi,np.pi,100) 9 # Y = np.sin(X) 10 # B = np.cos(X) 11 # pt.plot(X,Y,c='b',lw=4,ls='--') #c图形颜色,lw图形粗细,ls图形样式 12 # pt.subplot(1,2,2) 13 # pt.plot(X,B,c='g',lw=4,ls='--') 14 # pt.savefig('./sinx.png') #保存图形 15 16 # pt.figure(num='haha',facecolor='g') 17 # X = np.linspace(0,np.pi,100) 18 # Y = np.cos(X)/np.sin(X) 19 # Y = np.sin(X)/np.cos(X) 20 # pt.plot(X,Y,'b+') 21 22 # 行,列,位置 23 # 画哪个就把哪个作为主体 24 # pt.figure(facecolor='r') 25 # X = np.linspace(-100, 100, 20) 26 # Y = X ** 2 27 # pt.xlabel(u'X数值') #X轴名字 28 # pt.ylabel(u'Y数值') #Y轴名字 29 # pt.subplot(3,1,1,facecolor='y') #子图形颜色 30 # pt.plot(X,Y,'bo') #b蓝色blue ,形状:o圆点 31 # 32 # A = np.linspace(-np.pi,np.pi,10) 33 # B = np.sin(A) 34 # C = np.cos(A) 35 # pt.subplot(3,3,4) 36 # pt.plot(A,B,'g+') #g绿色green,形状:+ 37 # pt.subplot(3,3,5) 38 # pt.plot(A,C,'r*') #r红色red,形状:* 39 # 40 # M = np.linspace(2, 10, 20) 41 # N = np.log(M) 42 # pt.subplot(3,3,6,facecolor='g') 43 # pt.plot(M,N,'md') #m紫色,形状d:钻石 44 # 45 # a = np.linspace(-100, 100, 20) 46 # b = a ** 2 47 # pt.subplot(3,2,5,facecolor='m') 48 # pt.plot(a,b,'bo') 49 # x = np.linspace(-100, 100, 20) 50 # y = x ** 2 51 # pt.subplot(3,2,6,facecolor='y') 52 # pt.plot(x,y,'b>') 53 # pt.show() 54 # subplot(3,2,6)可以简写为subplot(326) 55 56 pt.figure() 57 # pt.rcParams['font.sans-serif'] = ['字体名'] 58 myfont = font_manager.FontProperties(fname=u'C:\Windows\Fonts\时尚中黑简体.ttf') 59 X = np.linspace(-np.pi, np.pi, 50) 60 Y = X ** 2 61 Y1 = X ** 3 62 Y2 = np.sin(X) 63 # 设置xy轴上下限 64 pt.xlim(-np.pi, np.pi) 65 pt.ylim(-1, 1) 66 # 设置x轴每个显示刻度 67 pt.xticks([-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi]) 68 # 设置某点坐标的文字:x坐标,y坐标以数据刻度为基准,显示的内容,字体配置 69 pt.text(0.0, 0.5, 'ljb', fontdict={'size': '16', 'color': 'm'}) 70 # 添加标注:xy:标注箭头想要指示的点,xytext:描述信息所在的坐标,arrowprops:设置箭头样式,shrink:箭头长度 71 pt.annotate('note!', xy=(np.pi / 2, 1), xytext=(np.pi / 2, 0.25), fontsize=16, 72 arrowprops=dict(facecolor='y', shrink=0.01)) 73 74 pt.xlabel(u'X数值', fontproperties=myfont, fontsize=12) # X轴名字及字体设置 75 pt.ylabel(u'Y数值', fontproperties=myfont, fontsize=12) # Y轴名字及字体设置 76 pt.title(u'函数图像', fontproperties=myfont, fontsize=16) # 图形标题及字体设置 77 # pt.plot(X,Y,label=u'X2函数') 78 # pt.plot(X,Y1,label=u'X3函数') 79 pt.plot(X, Y2, 'bo', label=u'sinx函数') # label设置图例 80 pt.legend(prop=myfont) # 显示图例并设置字体 81 pt.show()
柱状图
1 # coding=utf-8 2 import numpy as np 3 import matplotlib.pyplot as pt 4 5 # 柱状图-------------------------------------- 6 k = 10 7 x = np.arange(k) #生成序列数组 8 y = np.random.rand(k) #生成对应的随机数 9 for t in x: #text设置某点坐标的文字,ha,va设置文字位置, 10 pt.text(t,y[t]+0.01,'%.2f' % y[t],ha='center',va='bottom',fontdict={'size':'10','color':'r'}) 11 pt.annotate('%.2f' % y[4],xy=(4,y[4]+0.05),xytext=(4.3,y[4]+0.15),fontsize=16,arrowprops=dict(facecolor='y',arrowstyle='fancy'),bbox = dict(boxstyle="sawtooth",fc="0.8")) 12 pt.bar(x,y) 13 # pt.barh(x,y) #横向柱状图 14 pt.show() 15 16 # 子图配置----------------------------------------- 17 # pt.figure(figsize=(10, 6)) 18 # X = np.linspace(-np.pi, np.pi, 30) 19 # Y_sin = np.sin(X) 20 # Y_cos = np.cos(X) 21 # 22 # # 获取子图的配置 23 # ax_sin = pt.subplot(121) #需要把子图存起来 24 # ax_sin.set_title('Sin(X)') #单独设置某个子图标题 25 # ax_sin.set_xlabel('X') #单独设置某个子图x轴名字 26 # ax_sin.set_ylabel('Y') #单独设置某个子图y轴名字 27 # pt.plot(Y_sin, 'bo') 28 # 29 # ax_cos = pt.subplot(122) 30 # ax_cos.set_title('Cos(X)') 31 # ax_cos.set_xlabel('X') 32 # ax_cos.set_ylabel('Y') 33 # pt.plot(Y_cos, 'r-') 34 # 35 # pt.show() 36 37 # 分类柱状图----------------------------------------------- 38 # from matplotlib import font_manager 39 # 40 # myfont = font_manager.FontProperties(fname=u'C:\Windows\Fonts\时尚中黑简体.ttf') 41 # 42 # b_16 = [15746, 312, 4497, 319] 43 # b_15 = [12357, 156, 2045, 168] 44 # b_14 = [2358, 399, 2358, 362] 45 # a = [u'猩球崛起3', u'敦刻尔克', u'蜘蛛侠', u'战狼2'] 46 # 47 # bar_width = 0.2 #设置一个条状图的宽度 48 # 49 # x_14 = list(range(len(a))) 50 # x_15 = [i + bar_width for i in x_14] 51 # x_16 = [i + bar_width * 2 for i in x_14] 52 # 53 # # 设置图形大小,分辨率 54 # pt.figure(figsize=(12, 6), dpi=80) 55 # 56 # ax = pt.subplot(211) 57 # 58 # ax.set_title('Counter') 59 # ax.set_xlabel('X') 60 #参数1:位置列表,参数2:数据列表,参数3:柱宽,参数4:图例 61 # pt.bar(range(len(a)), b_14, width=bar_width, label=u'9月14日') 62 # pt.bar(x_15, b_15, width=bar_width, label=u'9月15日') 63 # pt.bar(x_16, b_16, width=bar_width, label=u'9月16日') 64 # 65 # # 设置图例 66 # pt.legend(prop=myfont) 67 # 68 # # 设置x轴的刻度 69 # pt.xticks(x_15, a, fontproperties=myfont) 70 # pt.show()
小案例
学生成绩
导入类库
1 from matplotlib import font_manager 2 import numpy as np 3 import matplotlib.pyplot as pt
数据准备
1 score_array = np.genfromtxt('score.csv', delimiter=',', dtype=int) 2 courses = [u'数学', u'语文', u'化学', u'地理', u'音乐', u'体育'] 3 students = [u'小数', u'小语', u'小化', u'小地', u'小音', u'小体'] 4 5 myfont = font_manager.FontProperties(fname=u'C:\Windows\Fonts\时尚中黑简体.ttf')
数据提取
1 student_0 = score_array[:,0] 2 student_1 = score_array[:,1] 3 student_2 = score_array[:,2] 4 student_3 = score_array[:,3] 5 student_4 = score_array[:,4] 6 student_5 = score_array[:,5] 7 8 bar_width = 0.1 9 x_0 = list(range(len(students))) 10 x_1 = [i + bar_width for i in x_0] 11 x_2 = [i + bar_width * 2 for i in x_0] 12 x_3 = [i + bar_width * 3 for i in x_0] 13 x_4 = [i + bar_width * 4 for i in x_0] 14 x_5 = [i + bar_width * 5 for i in x_0]
作图
1 pt.figure(figsize=(12, 5),dpi=80) 2 ax = pt.subplot(111) 3 4 ax.set_title('Score') 5 ax.set_xlabel('Students') 6 ax.set_ylabel('y') 7 8 pt.bar(range(len(students)), student_0, width=bar_width, label=courses[0]) 9 pt.bar(x_1, student_1, width=bar_width, label=courses[1]) 10 pt.bar(x_2, student_2, width=bar_width, label=courses[2]) 11 pt.bar(x_3, student_3, width=bar_width, label=courses[3]) 12 pt.bar(x_4, student_4, width=bar_width, label=courses[4]) 13 pt.bar(x_5, student_5, width=bar_width, label=courses[5]) 14 15 pt.legend(prop=myfont) 16 pt.xticks([i + bar_width * 2.5 for i in x_0], students, fontproperties=myfont) 17 pt.show()
转载于:https://www.cnblogs.com/siplips/p/9846549.html
数据分析——matplotlib相关推荐
- 大数据分析——Matplotlib入门教程
文章目录 1.问题区 2. matplotlib.pyplot简介 1.Pyplot中的基础函数解析 3. 使用Matplotlib画图基本步骤 1.基础方法解析 : 2.基础参数解析: (1)Lin ...
- Python 数据分析——Matplotlib相关知识
Python 数据分析--Matplotlib相关知识 第五章 Matplotlib相关知识 -- 样式 文章目录 Python 数据分析--Matplotlib相关知识 前言 一.matplotli ...
- 数据分析--matplotlib 设置时间数据的刻度格式
数据分析--matplotlib 设置时间数据的刻度格式 数据分析--matplotlib 设置时间数据的刻度格式 数据分析–matplotlib 设置时间数据的刻度格式 在绘制图表时, 如果横轴是p ...
- Python数据分析——Matplotlib数据可视化基础(二)
Python数据分析--Matplotlib数据可视化基础(二) 思维导图: 图形的绘制 认识要绘制的图形 基本绘图流程 pyplot基础图表函数 pyplot饼图的绘制 pie函数 matplotl ...
- 【Python】数据分析.matplotlib.条形图案例处理
文章目录 数据分析-matplotlib.柱状\条形图案例处理 一.纵向条形图 二.横向条形图 三.柱状图 数据分析-matplotlib.柱状\条形图案例处理 案例一: 假设你获取到了2017年内地 ...
- python教程-数据分析-matplotlib绘制折线图2 +总结(搭建网格,加上图例,修改图片的颜色和线条,脑图总结)
上一篇博客我们展示到了如何将matplotlib里面的中文正确输出 链接上一篇:python教程-数据分析-matplotlib绘制折线图1 matplotlib 今天这一篇我们继续学习matplot ...
- 数据分析——matplotlib(3)图片的基本操作
上一节:数据分析--matplotlib(2)第一个分析图 上一次我们使用matplotlib制作了第一个分析图,接下来我们对这个分析图进行一些基本操作. 主要操作有: 设置图片大小(想要一个高清无码 ...
- 大数据分析——Matplotlib进阶教程
文章目录 问题区设置坐标轴 1.matplotlib.pyplot总览 (1)总函数 (2)常用函数 常用函数解析 对于figure和axes的理解 2.实战 (1)三维图 3D画图常用函数 np.m ...
- python画曲线图例-Python数据分析-Matplotlib图标绘制
Matplotlib介绍 Matplotlib是一个强大的Python绘图和数据可视化的工具包. Matplotlib的主要功能 Matplotlib是python中的一个包,主要用于绘制2D图形(当 ...
- python ppt 绘图_Python数据分析-Matplotlib绘图基础
本文结构: 一.Matplotlib绘图基础及中文乱码解决 二.如何利用pandas绘图? 三.如何利用notebook制作分析报告? 图形在我们日常生活中无处不在.如果没有可视化,就是一些数字罗列, ...
最新文章
- 十六届智能车全向组硬件开源 | 上海海事大学全向行进组
- Angela启动步骤
- Android中Sharedpreferences牵涉到跨进程时不能实时读取的问题
- 大顶堆删除最大值_算法学习笔记(47): 二叉堆
- 牛客 - 拿物品(贪心)
- C++ Rand()各种实现
- java自动装箱和拆箱_关于java自动装箱和自动拆箱
- .Net Core功能开关实战
- 【题解】最近公共祖先
- 国内最火的 HTML、CSS、JavaScript 开源项目 Top 榜,你知多少?
- centos lamp
- Ubuntu 使用Tecplot报错 解决方案
- 基本知识 100032
- STM32基础8--通用定时器(PWM控制LED)
- html+css基础教程之html标题学习
- 使用STM32CubeProgrammer烧录STM32芯片
- 【转载】各大主流IP摄像头的rtsp地址介绍
- AutoSAR系列讲解(入门篇)5.1-方法论概述
- 创龙科技Zynq-7010/20工业开发板(双核ARM Cortex-A9+A7)-性能及参数资料
- [Mysql]查看mysql默认密码