博客地址:https://www.cnblogs.com/zylyehuo/

开发环境

  • anaconda

    • 集成环境:集成好了数据分析和机器学习中所需要的全部环境
    • 安装目录不可以有中文和特殊符号
  • jupyter
    • anaconda提供的一个基于浏览器的可视化开发工具
import matplotlib.pyplot as plt
import numpy as np

plt.plot()绘制线性图

  • 绘制单条线形图
  • 绘制多条线形图
  • 设置坐标系的比例plt.figure(figsize=(a,b))
  • 设置图例legend()
  • 设置轴的标识
  • 图例保存
    • fig = plt.figure()
    • plt.plot(x,y)
    • figure.savefig()
  • 曲线的样式和风格

绘制单条线形图

x = np.array([1,2,3,4,5])
y = x + 3

plt.plot(x,y)

[<matplotlib.lines.Line2D at 0x111dc3f28>]

绘制多条线形图

方式一

plt.plot(x,y)
plt.plot(x+1,y-2)

[<matplotlib.lines.Line2D at 0x111e38b00>]

方式二

plt.plot(x,y,x+1,y-2)

[<matplotlib.lines.Line2D at 0x111f80a20>,

<matplotlib.lines.Line2D at 0x111f80be0>]

设置坐标系的比例

  • plt.figure(figsize=(a,b))
plt.figure(figsize=(5,9))  # 放置在绘图的plot方法之前
plt.plot(x,y)

[<matplotlib.lines.Line2D at 0x1120aebe0>]

设置图例legend()

plt.plot(x,y,label='x,y')
plt.plot(x+1,y-2,label='x+1,y-2')
plt.legend() # 图例生效

<matplotlib.legend.Legend at 0x11693a5f8>

设置轴的标识

plt.plot(x,y)
plt.xlabel('temp')
plt.ylabel('dist')
plt.title('dist&temp')

Text(0.5,1,'dist&temp')

图例保存

  • fig = plt.figure()
  • plt.plot(x,y)
  • figure.savefig()
fig = plt.figure()  # 该对象的创建一定要放置在plot绘图之前
plt.plot(x,y,label='x,y')
fig.savefig('./123.png')

曲线的样式和风格

设置颜色和透明度

plt.plot(x,y,c='red',alpha=0.5)

[<matplotlib.lines.Line2D at 0x1170d2ef0>]

柱状图

  • plt.bar()

    • 参数

      • 第一个参数是索引
      • 第二个参数是数据值
      • 第三个参数是条形的宽度
plt.bar(x,y)

<BarContainer object of 5 artists>

直方图

  • 是一个特殊的柱状图,又叫做密度图
  • plt.hist()的参数
    • bins # 柱子的个数

      • 可以是一个bin数量的整数值,也可以是表示bin的一个序列。默认值为10
    • normed
      • 如果值为True,直方图的值将进行归一化处理,形成概率密度,默认值为False
    • color
      • 指定直方图的颜色。可以是单一颜色值或颜色的序列。如果指定了多个数据集合,例如DataFrame对象,颜色序列将会设置为相同的顺序。如果未指定,将会使用一个默认的线条颜色
    • orientation
      • 通过设置orientation为horizontal创建水平直方图。默认值为vertical
data = [1,1,2,2,2,3,4,5,6,6,6,6,6,6,7,8,9,0]
plt.hist(data,bins=20)

(array([1., 0., 2., 0., 3., 0., 1., 0., 1., 0., 0., 1., 0., 6., 0., 1., 0.,

1., 0., 1.]),

array([0. , 0.45, 0.9 , 1.35, 1.8 , 2.25, 2.7 , 3.15, 3.6 , 4.05, 4.5 ,

4.95, 5.4 , 5.85, 6.3 , 6.75, 7.2 , 7.65, 8.1 , 8.55, 9. ]),

<a list of 20 Patch objects>)

饼图

  • pie(),饼图也只有一个参数x
  • 饼图适合展示各部分占总体的比例,条形图适合比较各部分的大小
arr=[11,22,31,15]  # 整数--显示四个数各占的百分比
plt.pie(arr)

([<matplotlib.patches.Wedge at 0x1178be1d0>,

<matplotlib.patches.Wedge at 0x1178be6a0>,

<matplotlib.patches.Wedge at 0x1178beb70>,

<matplotlib.patches.Wedge at 0x1178c60f0>],

[Text(0.996424,0.465981,''),

Text(-0.195798,1.08243,''),

Text(-0.830021,-0.721848,''),

Text(0.910034,-0.61793,'')])

arr=[0.2,0.3,0.1]  # 小数--表示比例--第一个数占0.2,第二个数占0.3,以此类推...
plt.pie(arr)

([<matplotlib.patches.Wedge at 0x1177d0e80>,

<matplotlib.patches.Wedge at 0x1177da390>,

<matplotlib.patches.Wedge at 0x1177da8d0>],

[Text(0.889919,0.646564,''),

Text(-0.646564,0.889919,''),

Text(-1.04616,-0.339919,'')])

# labels 设置对应的标识
arr=[11,22,31,15]
plt.pie(arr,labels=['a','b','c','d'])

([<matplotlib.patches.Wedge at 0x11794aa90>,

<matplotlib.patches.Wedge at 0x11794af60>,

<matplotlib.patches.Wedge at 0x1179544e0>,

<matplotlib.patches.Wedge at 0x117954a20>],

[Text(0.996424,0.465981,'a'),

Text(-0.195798,1.08243,'b'),

Text(-0.830021,-0.721848,'c'),

Text(0.910034,-0.61793,'d')])

# labeldistance 设置标识到圆心的距离
arr=[11,22,31,15]
plt.pie(arr,labels=['a','b','c','d'],labeldistance=0.3)

([<matplotlib.patches.Wedge at 0x1179e2278>,

<matplotlib.patches.Wedge at 0x1179e2748>,

<matplotlib.patches.Wedge at 0x1179e2c18>,

<matplotlib.patches.Wedge at 0x1179eb198>],

[Text(0.271752,0.127086,'a'),

Text(-0.0533994,0.295209,'b'),

Text(-0.226369,-0.196868,'c'),

Text(0.248191,-0.168526,'d')])

# autopct='%.6f%%'  自动计算出每部分所占的比例,保留六位小数
arr=[11,22,31,15]
plt.pie(arr,labels=['a','b','c','d'],labeldistance=0.3,autopct='%.6f%%')

([<matplotlib.patches.Wedge at 0x117a709e8>,

<matplotlib.patches.Wedge at 0x117a7a128>,

<matplotlib.patches.Wedge at 0x117a7a898>,

<matplotlib.patches.Wedge at 0x117a83048>],

[Text(0.271752,0.127086,'a'),

Text(-0.0533994,0.295209,'b'),

Text(-0.226369,-0.196868,'c'),

Text(0.248191,-0.168526,'d')],

[Text(0.543504,0.254171,'13.924050%'),

Text(-0.106799,0.590419,'27.848101%'),

Text(-0.452739,-0.393735,'39.240506%'),

Text(0.496382,-0.337053,'18.987341%')])

# explode 设置每个部分到圆心的距离
# shadow 设置阴影
arr=[11,22,31,15]
plt.pie(arr,labels=['a','b','c','d'],labeldistance=0.3,shadow=True,explode=[0.2,0.3,0.2,0.4])

([<matplotlib.patches.Wedge at 0x117ab2390>,

<matplotlib.patches.Wedge at 0x117ab2b38>,

<matplotlib.patches.Wedge at 0x117abb390>,

<matplotlib.patches.Wedge at 0x117abbba8>],

[Text(0.45292,0.21181,'a'),

Text(-0.106799,0.590419,'b'),

Text(-0.377282,-0.328113,'c'),

Text(0.579113,-0.393228,'d')])

散点图

  • scatter()
  • 因变量随自变量而变化的大致趋势
x = np.array([1,3,5,7,9])
y = x ** 2 - 3 plt.scatter(x,y)

<matplotlib.collections.PathCollection at 0x117c1d780>



Type Markdown and LaTeX: 2

Type Markdown and LaTeX: 2

Type Markdown and LaTeX: 2

matplotlib -- 绘图操作 -- 数据分析三剑客的更多相关文章

  1. 数据分析07 /matplotlib绘图

    数据分析07 /matplotlib绘图 目录 数据分析07 /matplotlib绘图 1. 绘制线性图:plt.plot() 2. 绘制柱状图:plt.bar() 3. 绘制直方图:plt.his ...

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

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

  3. 数据分析三剑客之Matplotlib

    Matplotlib绘图和可视化 简介 我的前面两篇文章介绍了 Nimpy ,Pandas .今天来介绍一下Matplotlib. 简单来说,Matplotlib 是 Python 的一个绘图库.它包 ...

  4. python数据分析使用matplotlib绘图

    matplotlib绘图 关注公众号"轻松学编程"了解更多. Series和DataFrame都有一个用于生成各类图表的plot方法.默认情况下,它们所生成的是线形图 %matpl ...

  5. 数据分析三剑客之numpy

    Numpy 简介 数据分析三剑客:Numpy,Pandas,Matplotlib NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算, ...

  6. python数据分析三剑客之: Numpy

    数据分析三剑客之: Numpy 一丶Numpy的使用 ​ numpy 是Python语言的一个扩展程序库,支持大维度的数组和矩阵运算.也支持针对数组运算提供大量的数学函数库 创建ndarray # 1 ...

  7. matplotlib 绘图

    http://blog.csdn.net/jkhere/article/details/9324823 都打一遍 5 matplotlib-绘制精美的图表 matplotlib 是python最著名的 ...

  8. matplotlib绘图基本用法-转自(http://blog.csdn.net/mao19931004/article/details/51915016)

    本文转载自http://blog.csdn.net/mao19931004/article/details/51915016 <!DOCTYPE html PUBLIC "-//W3C ...

  9. Matplotlib 绘图 用法

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

  10. ssh调用matplotlib绘图报错RuntimeError: Invalid DISPLAY variable

    1.问题:在本地用matplotlib绘图可以,但是在ssh远程绘图的时候会报错 RuntimeError: Invalid DISPLAY variable 2.原因:matplotlib的默认ba ...

随机推荐

  1. HTTP协议中,Content-Type(内容类型)讲解

    在基于HTTP协议进行Web开发时,客户端请求经常会发送请求文件或媒体的类型(Type),为了编译理解和总体把握,在本人总结了一下常用的文件或媒体类型,支持的类型大致有以下9种: 文本:text.图像 ...

  2. 企业微信的IM架构设计揭秘:消息模型、万人群、已读回执、消息撤回等

    本文作者潘唐磊,腾讯WXG(微信事业群)开发工程师,毕业于中山大学.内容有修订. 1.内容概述 本文总结了企业微信的IM消息系统架构设计,阐述了企业业务给IM架构设计带来的技术难点和挑战,以及技术方案 ...

  3. [.NET] API网关选择:YARP还是Ocelot?

    API网关选择:YARP还是Ocelot? 摘要 随着微服务架构的流行,API网关在系统架构中扮演着越来越重要的角色.在.NET生态中,YARP(Yet Another Reverse Proxy)和 ...

  4. 2021 年万圣节 Github 彩蛋

    记录每年 Github 万圣节彩蛋,也记录有来项目成长历程. 2021 万圣节彩蛋 2020 万圣节彩蛋

  5. cpa-财务成本管理

    1.财务管理基本原理 2.财务报表分析和财务预测 3.价值评估基础 4.资本成本 5.投资项目资本预算 6.债券.股票价值评估 7.期权价值评估 8.企业价值评估 9.资本结构 10.长期筹资 11. ...

  6. ThreadPoolExecutor详解及线程池优化

    前言ThreadPoolExecutor在concurrent包下,是我们最常用的类之一.无论是做大数据的,还是写业务开发,对其透彻的理解以及如何发挥更好的性能,成为了我们在更好的coding道路上必 ...

  7. nginx详细参数配置(史上最全)

    Nginx (engine x) 是一个轻量级高性能的HTTP和反向代理服务器,同时也是一个通用 代理服务器 (TCP/UDP/IMAP/POP3/SMTP),最初由俄罗斯人Igor Sysoev编写 ...

  8. Hutch PG walkthrough Intermediate window

    NMAP └─# nmap -p- -A -sS 192.168.196.122 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-16 01 ...

  9. Flink CDC全量和增量同步数据如何保证数据的一致性

    Apache Flink 的 Change Data Capture (CDC) 功能主要用于实时捕获数据库中的变更记录,并将其转换为事件流以供下游处理.为了保证全量和增量数据同步时数据的一致性.不丢 ...

  10. Luogu P4310 绝世好题 题解 [ 绿 ] [ 线性 dp ] [ 单调队列优化 ] [ 二进制优化 ]

    题目:绝世好题. 暴力 dp 显然 \(O(n^2)\) 转移即可. 单调队列优化 观察到只有某二进制位两个数都为 \(1\) 时才能转移,因此我们把每个二进制位开一个单调队列,然后对于一个数 \(a ...