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. Python爬虫之Beautiful Soup解析库的使用(五)

    Python爬虫之Beautiful Soup解析库的使用 Beautiful Soup-介绍 Python第三方库,用于从HTML或XML中提取数据官方:http://www.crummv.com/ ...

  2. atomic 包、synchronized | Java 中线程安全

    相关阅读 彻底搞懂 CPU 中的内存结构 Java 内存模型 ,一篇就够了! 多线程实现原理 之前已经说过了,我们在保证线程安全的时候主要就是保证线程安全的 3 大特性,原子性.可见性.有序性.而在 ...

  3. Java初学者的30个常见问题

    本文回答了30个Java入门级初学者的常见问题. 我可以用%除以一个小数吗? a += b 和 a = a + b 的效果有区别吗? 声明一个数组为什么需要花费大量时间?为什么Java库不用随机piv ...

  4. python-线程的暂停, 恢复, 退出

    我们都知道python中可以是threading模块实现多线程, 但是模块并没有提供暂停, 恢复和停止线程的方法, 一旦线程对象调用start方法后, 只能等到对应的方法函数运行完毕. 也就是说一旦s ...

  5. BZOJ.4031.[HEOI2015]小Z的房间(Matrix Tree定理 辗转相除)

    题目链接 辗转相除解行列式的具体实现? 行列式的基本性质. //864kb 64ms //裸的Matrix Tree定理.练习一下用辗转相除解行列式.(因为模数不是质数,所以不能直接乘逆元来高斯消元. ...

  6. BZOJ.3546.[ONTAK2010]Life of the Party(二分图匹配 ISAP)

    题目链接 题意:求哪些点一定在最大匹配中. 这儿写过,再写一遍吧. 求哪些点不一定在最大匹配中.首先求一遍最大匹配,未匹配点当然不一定在最大匹配中. 设一个未匹配点为A,如果存在边A-B,且存在匹配边 ...

  7. Codeforces.264E.Roadside Trees(线段树 DP LIS)

    题目链接 \(Description\) \(Solution\) 还是看代码好理解吧. 为了方便,我们将x坐标左右反转,再将所有高度取反,这样依然是维护从左到右的LIS,但是每次是在右边删除元素. ...

  8. C#高级编程9 第16章 错误和异常

    C#高级编程9 第16章 错误和异常 了解这章可以学会如何处理系统异常以及错误信息. System.Exception类是.NET运行库抛出的异常,可以继承它定义自己的异常类. try块代码包含的代码 ...

  9. Reactor 3 学习笔记(2)

    接上篇继续学习各种方法: 4.9.reduce/reduceWith @Test public void reduceTest() { Flux.range(1, 10).reduce((x, y) ...

  10. Ubuntu GNOME 13.04将关闭窗口的按钮放在最右边

    转载请注明:转自http://blog.csdn.net/u010811449/article/details/9426187 先上图: 首先打开dconf系统配置编译器. 找到 rog -> ...