数据分析——matplotlib
基础
# coding=utf-8
import matplotlib.pyplot as pt
import numpy as np
from matplotlib import font_manager # 字体管理 # pt.figure(num='ljb',facecolor='y',figsize=(8,6)) #num画框名,facecolor画框颜色,figsize画框大小(宽,高)
# pt.subplot(1,2,1) #子画框,1行1列1号位置
# X = np.linspace(-np.pi,np.pi,100)
# Y = np.sin(X)
# B = np.cos(X)
# pt.plot(X,Y,c='b',lw=4,ls='--') #c图形颜色,lw图形粗细,ls图形样式
# pt.subplot(1,2,2)
# pt.plot(X,B,c='g',lw=4,ls='--')
# pt.savefig('./sinx.png') #保存图形 # pt.figure(num='haha',facecolor='g')
# X = np.linspace(0,np.pi,100)
# Y = np.cos(X)/np.sin(X)
# Y = np.sin(X)/np.cos(X)
# pt.plot(X,Y,'b+') # 行,列,位置
# 画哪个就把哪个作为主体
# pt.figure(facecolor='r')
# X = np.linspace(-100, 100, 20)
# Y = X ** 2
# pt.xlabel(u'X数值') #X轴名字
# pt.ylabel(u'Y数值') #Y轴名字
# pt.subplot(3,1,1,facecolor='y') #子图形颜色
# pt.plot(X,Y,'bo') #b蓝色blue ,形状:o圆点
#
# A = np.linspace(-np.pi,np.pi,10)
# B = np.sin(A)
# C = np.cos(A)
# pt.subplot(3,3,4)
# pt.plot(A,B,'g+') #g绿色green,形状:+
# pt.subplot(3,3,5)
# pt.plot(A,C,'r*') #r红色red,形状:*
#
# M = np.linspace(2, 10, 20)
# N = np.log(M)
# pt.subplot(3,3,6,facecolor='g')
# pt.plot(M,N,'md') #m紫色,形状d:钻石
#
# a = np.linspace(-100, 100, 20)
# b = a ** 2
# pt.subplot(3,2,5,facecolor='m')
# pt.plot(a,b,'bo')
# x = np.linspace(-100, 100, 20)
# y = x ** 2
# pt.subplot(3,2,6,facecolor='y')
# pt.plot(x,y,'b>')
# pt.show()
# subplot(3,2,6)可以简写为subplot(326) pt.figure()
# pt.rcParams['font.sans-serif'] = ['字体名']
myfont = font_manager.FontProperties(fname=u'C:\Windows\Fonts\时尚中黑简体.ttf')
X = np.linspace(-np.pi, np.pi, 50)
Y = X ** 2
Y1 = X ** 3
Y2 = np.sin(X)
# 设置xy轴上下限
pt.xlim(-np.pi, np.pi)
pt.ylim(-1, 1)
# 设置x轴每个显示刻度
pt.xticks([-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi])
# 设置某点坐标的文字:x坐标,y坐标以数据刻度为基准,显示的内容,字体配置
pt.text(0.0, 0.5, 'ljb', fontdict={'size': '', 'color': 'm'})
# 添加标注:xy:标注箭头想要指示的点,xytext:描述信息所在的坐标,arrowprops:设置箭头样式,shrink:箭头长度
pt.annotate('note!', xy=(np.pi / 2, 1), xytext=(np.pi / 2, 0.25), fontsize=16,
arrowprops=dict(facecolor='y', shrink=0.01)) pt.xlabel(u'X数值', fontproperties=myfont, fontsize=12) # X轴名字及字体设置
pt.ylabel(u'Y数值', fontproperties=myfont, fontsize=12) # Y轴名字及字体设置
pt.title(u'函数图像', fontproperties=myfont, fontsize=16) # 图形标题及字体设置
# pt.plot(X,Y,label=u'X2函数')
# pt.plot(X,Y1,label=u'X3函数')
pt.plot(X, Y2, 'bo', label=u'sinx函数') # label设置图例
pt.legend(prop=myfont) # 显示图例并设置字体
pt.show()
柱状图
# coding=utf-8
import numpy as np
import matplotlib.pyplot as pt # 柱状图--------------------------------------
k = 10
x = np.arange(k) #生成序列数组
y = np.random.rand(k) #生成对应的随机数
for t in x: #text设置某点坐标的文字,ha,va设置文字位置,
pt.text(t,y[t]+0.01,'%.2f' % y[t],ha='center',va='bottom',fontdict={'size':'','color':'r'})
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"))
pt.bar(x,y)
# pt.barh(x,y) #横向柱状图
pt.show() # 子图配置-----------------------------------------
# pt.figure(figsize=(10, 6))
# X = np.linspace(-np.pi, np.pi, 30)
# Y_sin = np.sin(X)
# Y_cos = np.cos(X)
#
# # 获取子图的配置
# ax_sin = pt.subplot(121) #需要把子图存起来
# ax_sin.set_title('Sin(X)') #单独设置某个子图标题
# ax_sin.set_xlabel('X') #单独设置某个子图x轴名字
# ax_sin.set_ylabel('Y') #单独设置某个子图y轴名字
# pt.plot(Y_sin, 'bo')
#
# ax_cos = pt.subplot(122)
# ax_cos.set_title('Cos(X)')
# ax_cos.set_xlabel('X')
# ax_cos.set_ylabel('Y')
# pt.plot(Y_cos, 'r-')
#
# pt.show() # 分类柱状图-----------------------------------------------
# from matplotlib import font_manager
#
# myfont = font_manager.FontProperties(fname=u'C:\Windows\Fonts\时尚中黑简体.ttf')
#
# b_16 = [15746, 312, 4497, 319]
# b_15 = [12357, 156, 2045, 168]
# b_14 = [2358, 399, 2358, 362]
# a = [u'猩球崛起3', u'敦刻尔克', u'蜘蛛侠', u'战狼2']
#
# bar_width = 0.2 #设置一个条状图的宽度
#
# x_14 = list(range(len(a)))
# x_15 = [i + bar_width for i in x_14]
# x_16 = [i + bar_width * 2 for i in x_14]
#
# # 设置图形大小,分辨率
# pt.figure(figsize=(12, 6), dpi=80)
#
# ax = pt.subplot(211)
#
# ax.set_title('Counter')
# ax.set_xlabel('X')
#参数1:位置列表,参数2:数据列表,参数3:柱宽,参数4:图例
# pt.bar(range(len(a)), b_14, width=bar_width, label=u'9月14日')
# pt.bar(x_15, b_15, width=bar_width, label=u'9月15日')
# pt.bar(x_16, b_16, width=bar_width, label=u'9月16日')
#
# # 设置图例
# pt.legend(prop=myfont)
#
# # 设置x轴的刻度
# pt.xticks(x_15, a, fontproperties=myfont)
# pt.show()
小案例
学生成绩
导入类库
from matplotlib import font_manager
import numpy as np
import matplotlib.pyplot as pt
数据准备
score_array = np.genfromtxt('score.csv', delimiter=',', dtype=int)
courses = [u'数学', u'语文', u'化学', u'地理', u'音乐', u'体育']
students = [u'小数', u'小语', u'小化', u'小地', u'小音', u'小体'] myfont = font_manager.FontProperties(fname=u'C:\Windows\Fonts\时尚中黑简体.ttf')
数据提取
student_0 = score_array[:,0]
student_1 = score_array[:,1]
student_2 = score_array[:,2]
student_3 = score_array[:,3]
student_4 = score_array[:,4]
student_5 = score_array[:,5] bar_width = 0.1
x_0 = list(range(len(students)))
x_1 = [i + bar_width for i in x_0]
x_2 = [i + bar_width * 2 for i in x_0]
x_3 = [i + bar_width * 3 for i in x_0]
x_4 = [i + bar_width * 4 for i in x_0]
x_5 = [i + bar_width * 5 for i in x_0]
作图
pt.figure(figsize=(12, 5),dpi=80)
ax = pt.subplot(111) ax.set_title('Score')
ax.set_xlabel('Students')
ax.set_ylabel('y') pt.bar(range(len(students)), student_0, width=bar_width, label=courses[0])
pt.bar(x_1, student_1, width=bar_width, label=courses[1])
pt.bar(x_2, student_2, width=bar_width, label=courses[2])
pt.bar(x_3, student_3, width=bar_width, label=courses[3])
pt.bar(x_4, student_4, width=bar_width, label=courses[4])
pt.bar(x_5, student_5, width=bar_width, label=courses[5]) pt.legend(prop=myfont)
pt.xticks([i + bar_width * 2.5 for i in x_0], students, fontproperties=myfont)
pt.show()
数据分析——matplotlib的更多相关文章
- python 数据分析 Matplotlib常用图表
Matplotlib绘图一般用于数据可视化 常用的图表有: 折线图 散点图/气泡图 条形图/柱状图 饼图 直方图 箱线图 热力图 需要学习的不只是如何绘图,更要知道什么样的数据用什么图表展示效果最好 ...
- Python数据分析-Matplotlib图标绘制
Matplotlib介绍 Matplotlib是一个强大的Python绘图和数据可视化的工具包. Matplotlib的主要功能 Matplotlib是python中的一个包,主要用于绘制2D图形(当 ...
- 博学谷-数据分析matplotlib
博学谷-数据分析 python数学学科的基础 机器学习课程的基础 1.1 介绍 1.2 jupyter和conda 1.3 matplotlib from matplotlib import pypl ...
- 数据分析 - Matplotlib
简介 Matplotlib是一个强大的Python绘图和数据可视化的工具包.数据可视化也是我们数据分析的最重要的工作之一,可以帮助我们完成很多操作,例如:找出异常值.必要的一些数据转换等.完成数据分析 ...
- 数据分析——matplotlib的用法
Matplotlib是一个强大的Python绘图和数据可视化的工具包.数据可视化也是我们数据分析的最重要的工作之一,可以帮助我们完成很多操作,例如:找出异常值.必要的一些数据转换等.完成数据分析的最终 ...
- 数据分析-Matplotlib:绘图和可视化
学习路线 简介 简单绘制线形图 plot函数 支持图类型 保存图表 1.简介 Matplotlib是一个强大的Python绘图和数据可视化的工具包.数据可视化也是我们数据分析的最重要的工作之一,可以帮 ...
- Python数据分析matplotlib可视化之绘图
Matplotlib是一个基于python的2D画图库,能够用python脚本方便的画出折线图,直方图,功率谱图,散点图等常用图表,而且语法简单. Python中通过matplotlib模块的pypl ...
- 数据分析——Matplotlib图形绘制
创建画布或子图 函数名称 函数作用 plt.figure 创建一个空白画布,可以指定画布大小,像素. figure.add_subplot 创建并选中子图,可以指定子图的行数,列数,与选中图片编号. ...
- python 数据分析----matplotlib
Matplotlib是一个强大的Python绘图和数据可视化的工具包. 安装方法:pip install matplotlib 引用方法:import matplotlib.pyplot as plt ...
随机推荐
- shell 批量远程主机执行命令
[yunwei@Y24-209 ~]$cat ls.sh #!/bin/bash ip55=`cat ip1` for i in $ip55;do ping -c 1 $i if [ $? -eq 0 ...
- Codeforces Round #552 (Div. 3) F. Shovels Shop(dp)
题目链接 大意:给你n个物品和m种优惠方式,让你买k种,问最少多少钱. 思路:考虑dpdpdp,dp[x]dp[x]dp[x]表示买xxx种物品的最少花费,然后遍历mmm种优惠方式就行转移就好了. # ...
- linux oops调试
参考文章: arm 指令定位错误 https://blog.csdn.net/songcdut/article/details/41383483 linux mips指令学习 https://www. ...
- Stm32之通用定时器复习
因为毕业设计要用到PWM调光很久都没用到Stm32的定时器,有些内容已经遗忘,为了回顾复习相关内容今天开下通用定时器这一章节的数据手册. 1.时钟 通用定时器一般是TIM2~TIM5,TIM1.TIM ...
- SpringMVC使用StandardServletMultipartResolver上传文件
DispatcherServlet并没有实现任何解析multipart请求数据的功能,它将该任务委托给了Spring中MultipartResolver策略接口的实现,通过该接口的实现类来解析mult ...
- #20175204 张湲祯 2018-2019-2《Java程序设计》第六周学习总结
20175204 张湲祯 2018-2019-2<Java程序设计>第六周学习总结 教材学习内容总结 -第七章内部类与异常类要点: 一.内部类: Java支持在一个类中定义另一个类,这样的 ...
- 【medium】990. Satisfiability of Equality Equations 并查集
Given an array equations of strings that represent relationships between variables, each string equa ...
- [NOIP2017提高组]小凯的疑惑-扩展欧几里得
#include<bits/stdc++.h> using namespace std; long long a,b,x,y,ans,tmp; inline void ex_gcd(lon ...
- 计算机网络基础——OSI七层网络模型
计算机网络基础——OSI七层网络模型 OSI的是什么: 开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称 ...
- uitramon 安装包
链接地址 密码:kkkk displayfintion :https://blog.csdn.net/JianJuly/article/details/80559933 密码:gn8p