matplotlib 学习总结

作者:csj
更新时间:01.09

email:59888745@qq.com

说明:因内容较多,会不断更新 xxx学习总结;

回主目录:2017 年学习记录和总结

# matplotlib 及环境配置
# 数据图的组成结构,与 matplotlib 对应的名称
# 常见的数据绘图类型,与绘制方法
# 您可能需要以下的准备与先修知识:
# Python开发环境及matplotlib工具包
# Python基础语法
# Python numpy 包使用 # 一幅数据图基本上包括如下结构:
# Data: 数据区,包括数据点、描绘形状
# Axis: 坐标轴,包括 X 轴、 Y 轴及其标签、刻度尺及其标签
# Title: 标题,数据图的描述
# Legend: 图例,区分图中包含的多种曲线或不同分类的数据
# 其他的还有图形文本 (Text)、注解 (Annotate)等其他描述 # 导入 matplotlib 包相关工具包
# 准备数据,numpy 数组存储
# 绘制原始曲线
# 配置标题、坐标轴、刻度、图例
# 添加文字说明、注解
# 显示、保存绘图结果
import matplotlib.pyplot as plt
import numpy as np x = np.arange(0,10,0.2)
y = np.sin(x) plt.rcParams['figure.figsize']=(12,6)# x zhou lenght =12,y zhou lenght ==6
plt.plot(x,y,color='#0F5E0F',linestyle='--',marker='*',label=r'$ s=sin{x} $')
ax = plt.subplot(111)
#配置标题、坐标轴、刻度、图例,hide top,right border line
ax.spines['right'].set_color('none') # delete the right borther line
ax.spines['top'].set_color('none') #delete the top borter line
#ax.xaxis.set_ticks_position('bottom')
#ax.spines['bottom'].set_position(('data', 0)) #move the x zhou to 0.00 # 移动左边边框线,相当于移动 y 轴
#ax.yaxis.set_ticks_position('left')
#ax.spines['left'].set_position(('data', 0))
#plt.title(r'$the \ function \ figure \ of \ cos(), \ sin() \ and \ sqrt()$', fontsize=19)
plt.title(r' this is title name ',fontsize=19) plt.xlabel(r'x', fontsize=18, labelpad=12)
plt.ylabel(r'y', fontsize=18, labelpad=12.5)
#设置文字描述、注解
plt.text(0.8, 0.9, r'$x \in [0.0, \ 10.0]$', color='k', fontsize=15)
plt.text(0.8, 0.8, r'$y \in [-1.0, \ 4.0]$', color='k', fontsize=15)
#设置图例及位置
plt.legend(['cos(x)'],loc='upper right')

# 特殊点添加注解
plt.scatter([8,],[np.sqrt(8),], 50, color ='m') # 使用散点图放大当前点
plt.annotate(r'$2\sqrt{2}$', xy=(8, np.sqrt(8)), xytext=(8.5, 2.2), fontsize=16, color='#090909', arrowprops=dict(arrowstyle='->', connectionstyle='arc3, rad=0.1', color='#090909'))

# 显示网格线
#plt.grid(True)

plt.show()

2 常用图形

曲线图:

matplotlib.pyplot.plot(data)
x =np.arange(-5,5,0.1)
y = x**2
plt.plot(x,y)
plt.show()

灰度图:
matplotlib.pyplot.hist(data)
x =[1,2,3,4,5,6,7,8]
plt.hist(x,bins=16)
plt.show()

散点图:
# x =[1,2,3,4,5,6,7,8]
# y =[1,2,3,4,5,6,7,8]
matplotlib.pyplot.scatter(data)
x=np.random.normal(size=100)
y=np.random.normal(size=100)
plt.scatter(x,y)
plt.show()

箱式图:
x =[1,2,3,4,5,6,7,8]
plt.boxplot(x)
plt.show()

remark:

ax.scatter(x_data, y_data, color='r', alpha = 0.75 )

# 柱状图
plt.bar(x,y)

# 定义绘制柱状图的函数
def barplot(x_data, y_data, error_data, x_label, y_label, title):
_, ax = plt.subplots()
# 柱状图
ax.bar(x_data, y_data, color = '#539caf', align = 'center')
# 绘制方差
# ls='none'去掉bar之间的连线
ax.errorbar(x_data, y_data, yerr = error_data, color = '#297083', ls = 'none', lw = 5)
ax.set_ylabel(y_label)
ax.set_xlabel(x_label)
ax.set_title(title)

# 绘图函数调用
barplot(x_data = mean_total_co_day.index.values
, y_data = mean_total_co_day['mean']
, error_data = mean_total_co_day['std']
, x_label = 'Day of week'
, y_label = 'Check outs'
, title = 'Total Check Outs By Day of Week (0 = Sunday)')

# 不同种类(species)鸢尾花萼片和花瓣的大小关系(分类散点子图),中文处理
plt.scatter(data['sepal_length'] , data['petal_length'], color='r', alpha=0.7)
plt.scatter(data['petal_width'], data['petal_width'], color='b', alpha=0.7)
plt.xlabel("x")
plt.ylabel("y")
plt.title("萼片与花瓣的比较".decode('utf-8'))
plt.legend(['萼片与花瓣长度比较'.decode('utf-8'), '萼片与花瓣宽度比较'.decode('utf-8')], loc='upper left')

总结:
关联分析、数值比较:散点图、曲线图
分布分析:灰度图、密度图
涉及分类的分析:柱状图、箱式图

更全的参考
http://matplotlib.org/api/index.html

 

matplotlib 学习总结的更多相关文章

  1. Matplotlib学习笔记(二)

    原  Matplotlib学习笔记 参考:Python数据科学入门教程 Python3.6.1 jupyter notebook .caret, .dropup > .btn > .car ...

  2. Matplotlib学习笔记(一)

    原   matplotlib学习笔记 参考:Python数据科学入门教程 Python3.6.1 jupyter notebook .caret, .dropup > .btn > .ca ...

  3. Matplotlib学习---用matplotlib画箱线图(boxplot)

    箱线图通过数据的四分位数来展示数据的分布情况.例如:数据的中心位置,数据间的离散程度,是否有异常值等. 把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q3)分 ...

  4. Matplotlib学习---matplotlib的一些基本用法

    Matplotlib有两种接口,一种是matlab风格接口,一种是面向对象接口.在这里,统一使用面向对象接口.因为面向对象接口可以适应更复杂的场景,在多图之间进行切换将变得非常容易. 首先导入matp ...

  5. Matplotlib学习---用matplotlib画直方图/密度图(histogram, density plot)

    直方图用于展示数据的分布情况,x轴是一个连续变量,y轴是该变量的频次. 下面利用Nathan Yau所著的<鲜活的数据:数据可视化指南>一书中的数据,学习画图. 数据地址:http://d ...

  6. Matplotlib 学习笔记

    注:该文是上了开智学堂数据科学基础班的课后做的笔记,主讲人是肖凯老师. 数据绘图 数据可视化的原则 为什么要做数据可视化? 为什么要做数据可视化?因为可视化后获取信息的效率高.为什么可视化后获取信息的 ...

  7. python学习(三):matplotlib学习

    前言:matplotlib是一个python的第三方库,里面的pyplot可以用来作图.下面来学习一下如何使用它的资源. 一.使用前 首先在python中使用任何第三方库时,都必须先将其引入.即: i ...

  8. Python:2D画图库matplotlib学习总结

    本文为学习笔记----总结!大部分为demo.一部分为学习中遇到的问题总结.包含怎么设置标签为中文等.matlab博大精深.须要用的时候再继续吧. Pyplot tutorial Demo地址为:点击 ...

  9. matplotlib学习之绘图基础

    matplotlib:http://www.cnblogs.com/jasonhaven/p/7609059.html 1.基本图形 散点图:显示两组数据的值,每个点的坐标位置由变量的值决定,头一组不 ...

随机推荐

  1. 51Nod-1006【LCS】+【输出路径】模板题

    题目链接:https://vjudge.net/contest/225715#problem/B 转载于>>> 题目大意: 给出两个序列,要求输出它们的最长公共子序列. 解题思路: ...

  2. LeetCode刷题笔记--Python--28. 实现strStr()

    class Solution: def strStr(self, haystack, needle): """ :type haystack: str :type nee ...

  3. Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置

    Redis简介 Redis是一个基于C语言开发的开源(BSD许可),开源高性能的高级内存数据结构存储,用作数据库.缓存和消息代理.它支持数据结构,如 字符串.散列.列表.集合,带有范围查询的排序集,位 ...

  4. HDU.3516.Tree Construction(DP 四边形不等式)

    题目链接 贴个教程: 四边形不等式学习笔记 \(Description\) 给出平面上的\(n\)个点,满足\(X_i\)严格单增,\(Y_i\)严格单减.以\(x\)轴和\(y\)轴正方向作边,使这 ...

  5. 洛谷.1919.[模板]A*B Problem升级版(FFT)

    题目链接:洛谷.BZOJ2179 //将乘数拆成 a0*10^n + a1*10^(n-1) + ... + a_n-1的形式 //可以发现多项式乘法就模拟了竖式乘法 所以用FFT即可 注意处理进位 ...

  6. SQL LOAD TABLE tbl_name FROM MASTER语法 把表的拷贝从主服务器转移到从属服务器。

    用于把表的拷贝从主服务器转移到从属服务器.本语句的主要作用是调试LOAD DATA FROM MASTER.它要求用于连接主服务器的帐户拥有对主服务器的RELOAD和SUPER权限,并拥有对要载入的主 ...

  7. [POI2011]Śmieci

    [POI2011]Śmieci 题目大意: 一个\(n(n\le10^5)\)个点\(m(m\le10^6)\)条边的无向图,每条边有边权\(0/1\),试找出若干个环,使得每次翻转环上所有边的权值, ...

  8. Internet Explorer 11:不要再叫我IE

    上周,Internet Explorer 11搭载Windows 8.1预览版而来,相信很多浏览迷也已经在使用中.Internet Explorer 11 Preview 改进了与 Web 标准.其他 ...

  9. vim 语法着色完全配置

    原文地址:http://blog.sina.com.cn/s/blog_878940b3010156ku.html 在终端输入:sudo vim /etc/vim/vimrc   打开配置文件.编辑命 ...

  10. PropertyGrid 重难点总结 转

    PropertyGrid的界面组成与不同部分的名称如下图所示. 本博文不算是自己写作的,只是将PropertyGrid中的几项十分有用的功能的应用方面的文字进行一下总结,希望以后大家对Property ...