Matplotlib介绍:

    Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形 。

    通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。

Matplotlib基础知识:   
     Matplotlib中的基本图表包括的元素
     x轴和y轴
     水平和垂直的轴线
     x轴和y轴刻度
     刻度标示坐标轴的分隔,包括最小刻度和最大刻度
     x轴和y轴刻度标签
     表示特定坐标轴的值
     绘图区域
     实际绘图的区域

Matplotlib形状代码:
首选是折线图: 
# 导包
import matplotlib.pyplot as plt
# 导入字体库
from matplotlib.font_manager import FontProperties font = FontProperties(fname="C:/Windows/Fonts/simkai.ttf",size=15)
# 填充数据
# plt.plot(['3-1','3-2','3-3'],[1,10,9]) # 绘制方法
# plt.show() # 定制数据
x1 = ['3-1','3-2','3-3','3-4','3-5']
y1 = [2,6,4,9,7] x2 = ['3-1','3-2','3-3','3-4','3-5']
y2 = [13,18,11,12,5] plt.plot(x1,y1,label='temperature')
plt.plot(x2,y2,label='water') # 设置标题
plt.title('温湿度显示图',FontProperties=font) plt.legend() plt.show() 树状图: # 导包
import matplotlib.pyplot as plt
# 导入字体库
from matplotlib.font_manager import FontProperties font = FontProperties(fname="C:/Windows/Fonts/simhei.ttf",size=15) # 设置数据
salary = [9000,10000,12000,5000,4000]
group = ['beijing','qinhuangdao','xingtai','handan','shijiazhuang'] plt.bar(group,salary) plt.title('全国各市工资水平',FontProperties=font) plt.show() 散点图: # 导包
import matplotlib.pyplot as plt
# 导入字体库
from matplotlib.font_manager import FontProperties import numpy as np font = FontProperties(fname="C:/Windows/Fonts/simhei.ttf",size=15) # 设置数据
# plt.scatter(2,4) # 定义x轴数据 x = list(range(0,101))
y = [xvalue * np.random.rand() for xvalue in x] # 填充数据
# s 代表点的大小,和粗细
# c 点表点的颜色 plt.scatter(x,y,s=20,c='skyblue') # 绘制
plt.show() 还可以运用面向对象来吧 图形封装成类,以下是封装成面向对象的图形代码。
# 导包
import matplotlib.pyplot as plt # 定义一个绘图类
class TestPlot(object): # 初始化赋值
def __init__(self,plt):
self.plt = plt #定义内部属性
#解决中文乱码问题(第二种,第一种在d6中)
# 'font.sans-serif' 是matplotlib的内置key
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['font.family']='sans-serif'
#指定编码
plt.rcParams['axes.unicode_minus'] = False # 定义横向条形图
def my_barh(self):
my_plt = self.plt
# 定义价格
price = [40.7,55,66,42.3]
# 将数据传入
my_plt.barh(range(4),price,align='center',color='skyblue',alpha=0.5) # 设置标签
my_plt.xlabel('价格') # 将数据传入y轴
my_plt.yticks(range(4),['红楼梦','三国演义','西游记','水浒传']) # 设置上下限制 my_plt.xlim([10,80]) my_plt.title('四大名著') my_plt.show() # 定义柱状图
def my_bar(self): my_plt =self.plt # 定义数据
GDP = [11313.3,14131.3,14553.5,23452.6] # 传入数据
my_plt.bar(['唐山','邢台','石家庄','邯郸'],GDP,align='center',color ='steelblue',alpha = 0.8) my_plt.ylabel('生产总值') my_plt.title('河北省GDP大比拼')
# 刻度范围
my_plt.ylim([5000,25000])
my_plt.show() def my_pie(self): my_plt = self.plt # 定义数据
xingtai = [44,22,16,18]
# 定义标签
label = ['2-3年','3-4年','5-6年','6年以上'] color = ['red','skyblue','yellow','pink'] indic = [] # 使用enumerate方法来添加索引 for index,item in enumerate(xingtai):
if item == max(xingtai):
indic.append(0.5) elif index == 1:
indic.append(0.3)
else:
indic.append(0) # if item == max(xingtai):
# indic.append(0.1)
# else:
# indic.append(0) my_plt.pie(
# 数据
xingtai,
# 标签
labels=label,
# 颜色
colors=color,
# 角度
startangle=90,
# 阴影
shadow=True,
# 突出显示
explode=tuple(indic),
# 格式化数字
autopct='%1.1f%%',
) # 设置标题
my_plt.title('饼图示例-统计邢台工龄占比')
my_plt.show() # 定义面积图方法
def my_area(self):
# 定义日期区间
date = ['2019.3.1','2019.3.2','2019.3.3','2019.3.4','2019.3.5','2019.3.6'] # 定义数据
# 收入
earn = [313,344,222,111,414,212] # 支出
pay = [[15,44,33,56,33,77],[33,22,11,13,42,19]] self.plt.stackplot(date,earn,pay,colors=['skyblue','yellow','red']) # 生成图例
self.plt.plot([],[],color='skyblue',label='收入')
self.plt.plot([],[],color='yellow',label='午餐')
self.plt.plot([],[],color='red',label='晚餐') # 设置标题
self.plt.title('面积图例,统一六天收入')
self.plt.legend()
self.plt.show() if __name__ == "__main__": # 实例化一个对象
testplot =TestPlot(plt)
testplot.my_area()
# testplot.my_bar()
# testplot.my_pie()
# testplot.my_barh() 以上全都是内置图形 ,还可以有扩展别的图形,例如小提琴图形。
首选要下载一个 seaborn 包
下载方式:pip install seaborn
下载之后利用此代码,就可以生成小提琴形状的比例了。
# 导包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns if __name__ == "__main__": # 读取数据集
df = pd.read_excel('test.xlsx','sheet1')
print(df)
# 绘制小提琴图
sns.violinplot(df['Age'],df['Gender'])
# 初始化数据
sns.despine()
# 绘制
plt.show()

python 机器学习三剑客 之 Matplotlib的更多相关文章

  1. 机器学习三剑客之Matplotlib基本操作

    Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形  . 通过 Matplotlib,可以仅需要几行代码,便可以生成绘图,线型图, ...

  2. 机器学习三剑客之Matplotlib

      matplotlib Matplotlib 是Python 2D绘图领域的基础套件,它让使用者将数据图形化,并提供多样化的输出格式.这里将会以四个小案例探索Matplotlib的常见用法 绘制折线 ...

  3. python数据分析三剑客之: matplotlib绘图模块

    matplotlib 一.Matplotlib基础知识 Matplotlib中的基本图表包括的元素 - x轴和y轴 axis 水平和垂直的轴线 - x轴和y轴刻度 tick 刻度标示坐标轴的分隔,包括 ...

  4. 机器学习三剑客之matplotlib 数据绘图展示

    线型图: #导包 import matplotlib.pyplot as plt #导入字体库 from matplotlib.font_manager import FontProperties # ...

  5. Python:机器学习三剑客之 NumPy

    一.numpy简介 Numpy是高性能科学计算和数据分析的基础包,机器学习三剑客之一.Numpy库中最核心的部分是ndarray 对象,它封装了同构数据类型的n维数组.部分功能如下: ndarray, ...

  6. 常用python机器学习库总结

    开始学习Python,之后渐渐成为我学习工作中的第一辅助脚本语言,虽然开发语言是Java,但平时的很多文本数据处理任务都交给了Python.这些年来,接触和使用了很多Python工具包,特别是在文本处 ...

  7. [Python] 机器学习库资料汇总

    声明:以下内容转载自平行宇宙. Python在科学计算领域,有两个重要的扩展模块:Numpy和Scipy.其中Numpy是一个用python实现的科学计算包.包括: 一个强大的N维数组对象Array: ...

  8. python机器学习《回归 一》

    唠嗑唠嗑 依旧是每一次随便讲两句生活小事.表示最近有点懒,可能是快要考试的原因,外加这两天都有笔试和各种面试,让心情变得没那么安静的敲代码,没那么安静的学习算法.搞得第一次和技术总监聊天的时候都不太懂 ...

  9. 2016年GitHub排名前20的Python机器学习开源项目(转)

    当今时代,开源是创新和技术快速发展的核心.本文来自 KDnuggets 的年度盘点,介绍了 2016 年排名前 20 的 Python 机器学习开源项目,在介绍的同时也会做一些有趣的分析以及谈一谈它们 ...

随机推荐

  1. 在Winform开发中使用Grid++报表

    之前一直使用各种报表工具,如RDLC.DevExpress套件的XtraReport报表,在之前一些随笔也有介绍,最近接触锐浪的Grid++报表,做了一些测试例子和辅助类来处理报表内容,觉得还是很不错 ...

  2. 随心测试_数据库_001<论数据的重要性>

    测试工作中,数据的重要性 软测工程师:作为综合运用多学科知识,保障软件质量的重要岗位.需要我们学以致用,在工作中不断学习提升.以下:软测人员必备_数据库核心技能学习点,供大家学习参考. Q1:什么是: ...

  3. Centos6.5-DHCPServer安装

    1.查询dhcp有没有被安装,如下没有被安装 [zfp@localhost ~]$ rpm -q dhcppackage dhcp is not installed[zfp@localhost ~]$ ...

  4. 想玩 Android 开发板?这些常用命令你不知不行!

    2019-04-19 关键字:Android机顶盒常用命令.Linux命令 笔者早年间从事 Android 机顶盒开发工作,那会刚毕业,技术也比较菜,工作过程中遇到过不少困难,不过所幸当时就有做笔记的 ...

  5. Verilog语言实现并行(循环冗余码)CRC校验

    1 前言 (1)    什么是CRC校验? CRC即循环冗余校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定.循环冗余检查(CRC)是一种数据传输检错功能, ...

  6. x86汇编语言实践(2)

    0 写在前面 为了更深入的了解程序的实现原理,近期我学习了IBM-PC相关原理,并手工编写了一些x86汇编程序. 在2017年的计算机组成原理中,曾对MIPS体系结构及其汇编语言有过一定的了解,考虑到 ...

  7. java实现 链表反转

    输入一个链表,反转链表后,输出新链表的表头. 递归法 public class RevnNode { public static class Node { public int value; publ ...

  8. 《STL源码剖析》----2.23 value_type()和__type_traits<>如何实现

    在2.13小节destory()第二版本接受两个迭代器找出元素类型,代码如下 其中value_type()判断出类型,__type_traits判断是否存在trivial destructor 在3. ...

  9. JS基础知识(未完)

    学习笔记,知识点来源于掘金小册-yck-前端面试之道 1.原始类型(6种) 原始类型储存的都是值 number boolean string null undefined symbol null不是对 ...

  10. 关于 iOS 性能优化方面的面试题,

    这是我前面几天碰到的面试题: 如何对定位和分析项目中影响性能的地方?以及如何进行性能优化? 我的答案: 定位方法: instruments   在iOS上进行性能分析的时候,首先考虑借助instrum ...