一、Matplotlib基础知识

1.1Matplotlib中的基本图表包括的元素

  • x轴和y轴 axis
    水平和垂直的轴线
  • x轴和y轴刻度 tick
    刻度标示坐标轴的分隔,包括最小刻度和最大刻度
  • x轴和y轴刻度标签 tick label
    表示特定坐标轴的值
  • 绘图区域(坐标系) axes
    实际绘图的区域
  • 坐标系标题 title
    实际绘图的区域
  • 轴标签 xlabel ylabel
    实际绘图的区域

1.2 导包

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pandas import Series,DataFrame

1.3 绘制简单图形

  • 单条曲线
x=[1,2,3,4,5]
y=[2,4,6,8,10]
plt.plot(x,y)

  • 抛物线
x = np.arange(-np.pi,np.pi,0.2)
y = x**2
plt.plot(x,y)

  • 绘制正弦曲线图
x = np.arange(-np.pi,np.pi,0.2)

y = np.cos(x)
plt.plot(x,y)

1.4 绘制多个曲线的图

x = np.arange(-np.pi,np.pi,0.2)
y = np.cos(x) #方式一
plt.plot(x,y)
plt.plot(x+3,y+3)
#方式二
plt.plot(x,y,x+3,y+3)

1.5 将多个曲线图绘制在一个table区域中:对象形式创建表图

  • a=plt.subplot(row,col,loc) 创建曲线图
  • a.plot(x,y) 绘制曲线图
ax1=plt.subplot(2,2,1)
ax1.plot(x,y,'r')
ax2=plt.subplot(2,2,2)
ax2.plot(x,y,'b')
ax3=plt.subplot(2,1,2)
ax3.plot(x,y,'black')

ax1=plt.subplot(2,2,1)
ax1.plot(x,y,'r')
ax2=plt.subplot(2,2,3)
ax2.plot(x,y,'b')
ax3=plt.subplot(1,2,2)
ax3.plot(x,y,'black')

1.6 网格线 plt.gride(XXX)

参数:

- axis
- color:支持十六进制颜色
- linestyle: -- -. :
- alpha:透明度0-1
  • 一般网格的添加
plt.grid(axis='both') #x-y都加网格
plt.plot(x,y)

  • 使用对象形式设置网格
#ax1,ax2,ax3都是对象
plt.grid(axis='both')
ax1=plt.subplot(2,2,1)
ax1.grid()
ax1.plot(x,y,'r')
ax2=plt.subplot(2,2,2)
ax2.plot(x,y,'b')
ax2.grid()
ax3=plt.subplot(2,1,2)
ax3.grid()
ax3.plot(x,y,'black')

1.7 坐标轴界限

axis方法:设置x,y轴刻度值的范围

plt.axis([xmin,xmax,ymin,ymax])

plt.axis([-6,6,-2,2])
plt.plot(x,y)
#plt.axis('off') 关闭坐标系显示

1.8 关闭坐标轴显示

plt.axis('off')

1.9 设置画布比例

设置画布比例:plt.figure(figsize=(a,b)) a:x刻度比例 b:y刻度比例 (2:1)表示x刻度显示为y刻度显示的2倍

plt.figure(figsize=(2,3))
plt.plot(x,y)

1.10 坐标轴标签

  • s 标签内容
  • color 标签颜色
  • fontsize 字体大小
  • rotation 旋转角度

(1) plt的xlabel方法和ylabel方法 title方法

plt.xlabel('x')
plt.ylabel('sin(x)')
plt.title('y= sin(x)')
plt.plot(x,y)

1.11 图例---legend方法

(1)两种传参方法:

  • 分别在plot函数中增加label参数,再调用plt.legend()方法显示
  • 直接在legend方法中传入字符串列表
#方式一
plt.plot(x,y,label='aaa')
plt.plot(x+3,y+3,label='bbb')
plt.legend() #方式二
plt.plot(x,y,x+3,y+3)
plt.legend(['aaa','bbb'])

(2)legend参数

- loc参数
  • loc参数用于设置图例标签的位置,一般在legend函数内
  • matplotlib已经预定义好几种数字表示的位置
- ncol参数
  • ncol控制图例中有几列,在legend中设置ncol

plt.plot(x,y,x+3,y+3)
plt.legend(['aaa','bbb'],loc=3,ncol=2)

1.12 保存图片

使用figure对象的savefig函数来保存图片

fig = plt.figure()---必须放置在绘图操作之前(******)

figure.savefig的参数选项

  • filename
    含有文件路径的字符串或Python的文件型对象。图像格式由文件扩展名推断得出,例如,.pdf推断出PDF,.png推断出PNG (“png”、“pdf”、“svg”、“ps”、“eps”……)
  • dpi
    图像分辨率(每英寸点数),默认为100
  • facecolor ,打开保存图片查看 图像的背景色,默认为“w”(白色)
fig = plt.figure()

plt.plot(x,y,x+3,y+3)
plt.legend(['aaa','bbb'],loc=3,ncol=2) fig.savefig('./img.png',dpi=500) #dip表示像素分辨率

1.13 设置plot的风格样式

plot语句中支持除X,Y以外的参数,以字符串形式存在,来控制颜色、线型、点型等要素,语法形式为:
plt.plot(X, Y, 'format', ...)

  • 颜色 --参数color或c

  颜色的方式 

  • 别名

    • color = 'r'
  •   合法的HTML颜色名
    • color = 'red'  
  • HTML 十六进制字符串

    • color = '#eeefff'  
  • 归一化到 [0,1] 的RGB元组透明度  -- alpha参数(0-1)
    • color = (0.3,0.3,0.4)  
  • 线型 -- 参数linestyle或ls

  • 线宽 -- linewidth或lw参数
  • 点型
    • marker 设置点形
    • markersize 设置点形大小

plt.plot(x,y,c='y',alpha=0.8,lw=3,marker='',markersize=10,markerfacecolor='b')
plt.grid(color='r')

总结:

绘制线      plt.plot(x1,y1,x2,y2)
网格线 plt.grid(True) axes.grid(color,ls,lw,alpha)
获取坐标系 plt.subplot(n1,n2,n3)
坐标轴标签 plt.xlabel() plt.ylabel()
坐标系标题 plt.title()
图例 plt.legend([names],ncol=2,loc=1) plt.plot(label='name')
线风格 -- -. : None step
图片保存 figure.savefig()
点的设置 marker markersize markerfacecolor markeredgecolor\width
坐标轴刻度 plt.xticks(刻度列表,刻度标签列表) plt.yticks()
axes.set_xticks(刻度列表) axes.set_xticklabels(刻度标签列表)

二 2D图形

2.1 直方图

  • 是一个特殊的柱状图,又叫做密度图。

  【直方图的参数只有一个x!!!不像条形图需要传入x,y】

  • plt.hist()的参数

    • bins
      直方图的柱数,可选项,默认为10
    • color
      指定直方图的颜色。可以是单一颜色值或颜色的序列。如果指定了多个数据集合,例如DataFrame对象,颜色序列将会设置为相同的顺序。如果未指定,将会使用一个默认的线条颜色
    • orientation
      通过设置orientation为horizontal创建水平直方图。默认值为vertical
data = [1,2,3,3,4,2,5]
plt.hist(data,bins=10)

图像中返回值 :

1: 直方图向量,是否归一化由参数normed设定

2: 返回各个bin的区间范围

3: 返回每个bin里面包含的数据,是一个list

2.2条形图:plt.bar()

  • 参数:第一个参数是索引。第二个参数是数据值。第三个参数是条形的宽度

-【条形图有两个参数x,y】

  • width 纵向设置条形宽度
  • height 横向设置条形高度

bar() : 垂直的条形图

barh():水平条形图

x=[1,2,3,4,5]
y=[3,5,4,2,1]
plt.bar(x,y,width=0.6,color='r')

plt.barh(x,y) #水平条形图

2.3 饼图

【饼图也只有一个参数x】

pie()
饼图适合展示各部分占总体的比例,条形图适合比较各部分的大小.

  • 普通各部分占满饼图
plt.pie([11,22,33])

  • 普通未占满饼图:小数/比例
plt.pie([0.2,0.3,0.1])

  • 饼图参数属性设置
labels参数设置每一块的标签;
labeldistance参数设置标签距离圆心的距离(比例值)
autopct参数设置比例值小数保留位(%.3f%%);
pctdistance参数设置比例值文字距离圆心的距离
explode参数设置每一块顶点距圆心的长度(比例值,列表);
colors参数设置每一块的颜色(列表);
shadow参数为布尔值,设置是否绘制阴影
startangle参数设置饼图起始角度
##explode参数设置每一块顶点距圆心的长度(比例值,列表);
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])

2.4 散点图 : 因变量随自变量而变化的大致趋势

【散点图需要两个参数x,y,但此时x不是表示x轴的刻度,而是每个点的横坐标!】

scatter()

#plt.scatter(x,y,marker='d',c="rbgy") 设置不同的散点颜色
x = np.random.random(size=(100,))
y = np.random.random(size=(100,))
plt.scatter(x,y,c='rgby')

 
 
 
 
 
 

Matplotlib 库 : 绘图和可视化的更多相关文章

  1. Matplotlib:绘图和可视化

    Matplotlib:绘图和可视化 简介 简单绘制线形图 plot函数 支持图类型 保存图表 一 .简介 Matplotlib是一个强大的Python绘图和数据可视化的工具包.数据可视化也是我们数据分 ...

  2. 转:使用 python Matplotlib 库 绘图 及 相关问题

     使用 python Matplotlib 库绘图      转:http://blog.csdn.net/daniel_ustc/article/details/9714163 Matplotlib ...

  3. 数据分析-Matplotlib:绘图和可视化

    学习路线 简介 简单绘制线形图 plot函数 支持图类型 保存图表 1.简介 Matplotlib是一个强大的Python绘图和数据可视化的工具包.数据可视化也是我们数据分析的最重要的工作之一,可以帮 ...

  4. (转)使用 python Matplotlib 库绘图

    运行一个简单的程序例子: import matplotlib.pyplot as plt plt.plot([1,2,3]) plt.ylabel('some numbers') plt.show() ...

  5. python金融与量化分析------Matplotlib(绘图和可视化)

    -----------------------------------------------------------Matplotlib:绘图和可视化------------------------ ...

  6. 数据分析与展示——Matplotlib库入门

    Matplotlib库入门 Matplotlib库介绍 Matliotlib库是Python优秀的数据可视化第三方库. Matliotlib库的效果见:http://matplotlib.org/ga ...

  7. 第二周 数据分析之展示 Matplotlib库入门

    Matplotlib库介绍:优秀的数据可视化第三方库 使用:Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发,matplotlib.pyplot是绘制各类可视化图形的命令子库 ...

  8. 【Python开发】使用python中的matplotlib进行绘图分析数据

    matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备, ...

  9. Python——Matplotlib库入门

    1.Matplotlib库简介 优秀的可视化第三方库 Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发 matplotlib.pyplot是绘制各类可视化图形的命令子库,相当 ...

随机推荐

  1. Linux服务器运行环境搭建(四)——Tomcat安装

    官网地址:http://tomcat.apache.org 官网下载地址(Tomcat6):http://tomcat.apache.org/download-60.cgi,Windows下载wind ...

  2. 因为yii2中jquery位置默认在最下方,可将自定义js位置放在下方

    因为yii2中jquery位置默认在最下方,可将自定义js位置放在下方,这样就可以执行当页面加载完触发动作.记录下方式,查找方便 <?php $this->beginBlock('test ...

  3. 压力测试工具ab及centos下单独安装方法

    压力测试工具Ab简介 Apache安装包中自带的压力测试工具 Apache Benchmark(简称ab) 简单易用,这里就采用 ab作为压力测试工具了. 1.独立安装 ab运行需要依赖apr-uti ...

  4. FreeMarker自定义TemplateDirectiveModel

    [参考:http://blog.csdn.net/fangzhangsc2006/article/details/8687371] 在采用FreeMarker做前台视图模板的情况下,我们可以通过< ...

  5. 微信小程序异常解析

    文件解析错误 SyntaxError: Unexpected end of JSON input: 在子目录下添加空白的json配置文件是会出现报错,其原因是因为文件内容空白 pages/index/ ...

  6. 如何组织一个同时面向 UWP/WPF/.Net Core 控制台的 C# 项目解决方案

    希望写一个小型工具,给自己和需要的人.考虑到代码尽可能的复用,我准备采用 .Net Standard 来编写大多数核心代码,并基于 .Net Core 编写跨平台控制台入口,用 WPF 编写桌面端 U ...

  7. 《DSP using MATLAB》示例Example 6.28

    代码: % The following 3 lines produce filter coefficients shown in Table 6.1 wp = [0.35, 0.65]; ws = [ ...

  8. 关于在2.7中出现 "UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal"

    在中文字符串前面加u. Make sure your code is in UTF-8 (NOT Latin-1) and/or use a coding line as so: #! /usr/bi ...

  9. 微信卡券开发,代金券修改卡券信息返回40145错误码: invalid update! Can not both set PayCell and CenterCellInfo(include: center_title, center_sub_title, center_url). hint: [DZ9rna0637ent1]

      修改代金券,接口返回的数组是这样的内容 Array ( [errcode] => 40145 [errmsg] => invalid update! Can not both set  ...

  10. WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (一)

    WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (一) 编写人:CC阿爸 2015-1-28 在伍华聪的博客中,看到布局控件"Weife ...