单元4:Matplotlib库入门

matplotlib.pyplot是绘制各类可视化图形的命令子库,相当于快捷方式

import matplotlib.pyplot as plt

# -*- coding: utf-8 -*-
"""
Created on Fri Aug 2 10:03:57 2019 @author: ASUS
""" import matplotlib.pyplot as plt
plt.plot([0,2,4,6,8],[3,1,4,5,2])#x,y轴坐标
plt.ylabel("grade")
plt.xlabel("haha")
plt.axis([0,8,0,6])#x,y轴范围
plt.savefig('test1',dpi=600)
plt.show

plt.subplot(nrows,nclos,plot_number)

# -*- coding: utf-8 -*-
"""
Created on Fri Aug 2 10:03:57 2019 @author: ASUS
"""
import numpy as np
import matplotlib.pyplot as plt def f(t):
return np.exp(-t)*np.cos(2*np.pi*t) a = np.arange(0.0,5.0,0.02) plt.subplot(211)
plt.plot(a,f(a)) plt.subplot(2,1,2)
plt.plot(a,np.cos(2*np.pi*a),'r--') plt.show()

plt.plot(x,y,format_string,**kwargs)

format_string:控制曲线的格式字符串,可选

颜色字符:

风格字符:

标记字符:

color:控制颜色,color='green'

linestyle:线条颜色,linestyle='dashed'

marker:标记风格,marker='o'

markerfacecolor:标记颜色,markerfacecolor='blue'

markersize:标记尺寸

**kwargs:第二组或更多

中文显示:

第一种方法:pyplot并不默认支持中文显示,需要rcParams修改字体实现

# -*- coding: utf-8 -*-
"""
Created on Fri Aug 2 10:03:57 2019 @author: ASUS
"""
import numpy as np
import matplotlib.pyplot as plt
import matplotlib matplotlib.rcParams['font.family']='SimHei'
#'font.family'用于显示字体的名字
#'font.style'字体风格,正常'normal'或斜体'italic'
#'font-size'字体大小,整数字号或者'large'、'x-small'
a = np.arange(10)
plt.plot(a,a*1.5,'go-',a,a*2.5,'rx',a,a*3.5,'*',a,a*4.5,'b-.')
plt.ylabel("纵轴(值)")
plt.show()

第二种办法:

fontproperties

# -*- coding: utf-8 -*-
"""
Created on Fri Aug 2 10:03:57 2019 @author: ASUS
"""
import numpy as np
import matplotlib.pyplot as plt
#import matplotlib a = np.arange(0.0,5.0,0.02) plt.xlabel("横轴:时间",fontproperties='SimHei',fontsize=20)
plt.ylabel("纵轴:振幅",fontproperties='SimHei',fontsize=10)
plt.plot(a,np.cos(2*np.pi*a),'r--')
plt.show()
#会遇到负号显示乱码
#添加plt.rcParams['axes.unicode_minus'] = False 即可

文本显示函数:

plt.tiltle()  对图形整体增加文本标签

plt.text() 在任意位置增加文本

plt.annotate(s,xy=arrow_crd,xytext=text_crd,arrowprops=dict) 在图形中增加带箭头的注解

import numpy as np
import matplotlib.pyplot as plt
#import matplotlib a = np.arange(0.0,5.0,0.02)
plt.plot(a,np.cos(2*np.pi*a),'r--') plt.rcParams['axes.unicode_minus'] = False
plt.xlabel("横轴:时间",fontproperties='SimHei',fontsize=15,color='green')
plt.ylabel("纵轴:振幅",fontproperties='SimHei',fontsize=15)
plt.title(r'正弦波实例$y=cos(2\pi x)$',fontproperties='SimHei',fontsize=25)
plt.text(2,1,r'$\nu=100$',fontsize=15)#plt.annotate(r'$\mu=100$',xy=(2,1),xytext=(3,1.5),arrowprops=dict(facecolor='black',shrink=0.1,width=2)) plt.axis([-1,6,-2,2])
plt.grid(True)
plt.savefig('test2')
plt.show()

pyplot子绘图区域

plt.subplot2grid(GridSpec,CurSpec,colspan=1,rowspan=1)

import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec gs = gridspec.GridSpec(3,3) ax1 = plt.subplot(gs[0,:])
ax2 = plt.subplot(gs[1,:-1])
ax3 = plt.subplot(gs[1:,-1])
ax2 = plt.subplot(gs[2,0])
ax2 = plt.subplot(gs[2,1]) plt.savefig('test3')

单元5:Matplotlib基础绘图函数示例

pyplot饼图的绘制

# -*- coding: utf-8 -*-
"""
Spyder Editor This is a temporary script file.
"""
import matplotlib.pyplot as plt labels = 'Frogs','Hogs','Dogs','Logs'
sizes = [15,30,45,10]
explode = (0,0.1,0,0) plt.pie(sizes,explode=explode,labels = labels,autopct='%1.1f%%',shadow=False,startangle=90)
plt.axis('equal')
plt.show()

pyplot直方图的绘制

# -*- coding: utf-8 -*-
"""
Spyder Editor This is a temporary script file.
"""
import numpy as np
import matplotlib.pyplot as plt np.random.seed(0)
mu,sigma = 100,20
a = np.random.normal(mu,sigma,size=100)
plt.hist(a,40,normed=0,histtype='stepfilled',facecolor='b',alpha=0.75)
#直方图的个数
#normed = 1概率,normed = 0,个数
plt.title('Histogram')
plt.show()

pyplot极坐标图

import numpy as np
import matplotlib.pyplot as plt N = 20
theta = np.linspace(0.0,2*np.pi,N,endpoint=False)
radii = 10*np.random.rand(N)
width = np.pi / 4*np.random.rand(N) ax = plt.subplot(111,projection='polar')
bars = ax.bar(theta,radii,width=width,bottom=0.0)
#left height width
for r,bar in zip(radii,bars):
bar.set_facecolor(plt.cm.viridis(r/10.))
bar.set_alpha(0.5)
plt.savefig('test')
plt.show()

pyplot散点图绘制

import numpy as np
import matplotlib.pyplot as plt fig,ax = plt.subplots()
ax.plot(10*np.random.randn(100),10*np.random.randn(100),'o')
ax.set_title('Simple Scatter') plt.show()

Python数据分析与展示第2周学习笔记(北理工 嵩天)的更多相关文章

  1. Python数据分析与展示第3周学习笔记(北京理工大学 嵩天等)

    入门学习马上结束辽. 1.Pandas库 import pandas as pd 两个数据类型:Series,DataFrame Series类型:数据+索引 自定义索引 b = pd.Series( ...

  2. Python数据分析与展示[第三周](pandas简介与数据创建)

    第三周的课程pandas 分析数据 http://pandas.pydata.org import pandas as pd 常与numpy matplotlib 一块定义 d=pd.Series(r ...

  3. Python数据分析与展示[第三周](pandas数据类型操作)

    数据类型操作 如何改变Series/ DataFrame 对象 增加或重排:重新索引 删除:drop 重新索引 .reindex() reindex() 能够改变或重排Series和DataFrame ...

  4. Python数据分析与展示[第三周](pandas数据特征分析单元8)

    数据理解 基本统计 分布/累计统计 数据特征 数据挖掘 数据排序 操作索引的排序 .sort_index() 在指定轴上排序,默认升序 参数 axis=0 column ascending=True ...

  5. 20145213《Java程序设计》第八周学习笔记

    20145213<Java程序设计>第八周学习笔记 教材学习内容总结 "桃花春欲尽,谷雨夜来收"谷雨节气的到来意味着寒潮天气的基本结束,气温回升加快.刚出冬的我对于这种 ...

  6. 《Linux内核分析》第八周学习笔记

    <Linux内核分析>第八周学习笔记 进程的切换和系统的一般执行过程 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163 ...

  7. 《Linux内核分析》第七周学习笔记

    <Linux内核分析>第七周学习笔记 可执行程序的装载 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/co ...

  8. 《Linux内核分析》第六周学习笔记

    <Linux内核分析>第六周学习笔记 进程的描述和创建 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/co ...

  9. 《Linux内核分析》第五周学习笔记

    <Linux内核分析>第五周学习笔记 扒开系统调用的三层皮(下) 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.c ...

随机推荐

  1. SrpingMVC/SpringBoot中restful接口序列化json的时候使用Jackson将空字段,空字符串不传递给前端

    笔者的JSON如下: { "code": 10001, "message": "成功", "nextUrl": null ...

  2. Python连接Oracle问题

    Python连接Oracle问题 1.pip install cx_oracle 2.会出现乱码问题:     方法一:配置环境变量     export NLS_LANG="SIMPLIF ...

  3. INNER JOIN & OUTER JOIN

    INNER JOIN & OUTER JOIN 参考:sql

  4. JavaScript学习总结(四)

    这一部分我们继续介绍JavaScript的常用对象. Number对象 创建Number对象 方式1: var 变量= new Number(数字) 方式2: var 变量 = 数字; 常用的方法 t ...

  5. 洛谷 P1731 [NOI1999]生日蛋糕 && POJ 1190 生日蛋糕

    题目传送门(洛谷)  OR 题目传送门(POJ) 解题思路: 一道搜索题,暴力思路比较容易想出来,但是这道题不剪枝肯定会TLE.所以这道题难点在于如何剪枝. 1.如果当前状态答案已经比我们以前某个状态 ...

  6. 线性可分支持向量机与软间隔最大化--SVM(2)

    线性可分支持向量机与软间隔最大化--SVM 给定线性可分的数据集 假设输入空间(特征向量)为,输出空间为. 输入 表示实例的特征向量,对应于输入空间的点: 输出 表示示例的类别. 我们说可以通过间隔最 ...

  7. 基本 Python 词汇

    本文档介绍了要理解“使用 Python 进行地理处理”的帮助文档需要掌握的一些词汇. !   术语 说明 Python Python 是由 Guido van  Rossum 在上世纪八十年代末构想并 ...

  8. 题解 P2382 【化学分子式】

    题目 不懂为什么,本蒟蒻用在线算法打就一直炸...... 直到用了"半离线"算法...... 一遍就过了好吗...... 某位机房的小伙伴一遍就过了 另一位机房的小伙伴也是每次都爆 ...

  9. BP算法推导python实现

    def sigmoid(inX):   return 1.0/(1+exp(-inX))   '''标准bp算法每次更新都只针对单个样例,参数更新得很频繁sdataSet 训练数据集labels 训练 ...

  10. PAT Basic 1104 数字⿊洞 (20) [数学问题-简单数学]

    题目 给定任⼀个各位数字不完全相同的4位正整数,如果我们先把4个数字按⾮递增排序,再按⾮递减排序,然后⽤第1个数字减第2个数字,将得到⼀个新的数字.⼀直重复这样做,我们很快会停在有"数字⿊洞 ...