matlplotlib绘图(二)
matplotlib基础知识
matpltlib中的基本图表包括的元素
1.x轴和y轴:水平和垂直的轴线
2.x轴和y轴的刻度:刻度标识坐标值的分隔,包括最小刻度和最大刻度
3.x轴和y轴刻度:表示特定坐标轴的值
4.绘图区域:实际绘图的区域
绘制单一曲线的图
代码如下
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
x = np.linspace(0,2*np.pi,50) #,定义自变量的取值,并返回把范围分成50份
y = np.sin(x)
plt.plot(x,y)
sin(x)
cos(x)
绘制多条曲线的图
x = np.linspace(0,2*np.pi,50) #定义自变量的取值,并返回把范围分成50份
y = np.sin(x)
y2 = np.cos(x)
plt.plot(x,y) #自变量相同
plt.plot(x,y2)

绘制多条曲线也可以在plot()函数中添加多对x,y值
plt.plot(x,y,x,np.cos(x))

[<matplotlib.lines.Line2D at 0x104ac898>,<matplotlib.lines.Line2D at 0x104ac9e8>]看返回结果可知道,返回值其实是一个列表
添加网格线
plt.grid()
plt.plot(x,y,x,np.cos(x))
plt.grid()
plt.savefig("./image/grid.jpg")

视图中添加子视图
fig=plt.figure(figsize=(12,3)) #设置子视图的尺寸
axes = fig.add_subplot(1,2,1) #根据面向对象的思想创建子视图对象,指定子视图在视图中的位置,添加子视图为一行,两列,第一个
axes.plot(x,y) #画出子视图
axes.grid()
axes = fig.add_subplot(1,2,2) #添加子视图为一行两列,第二个
axes.plot(x,y)
axes.grid(color ="red",alpha =1.0,linestyle = "-.",linewidth = 0.5) #视图中附带网格线,并设置网格线的颜色,线的明暗程度,线宽。
plt.savefig("./image/fen.jpg") #保存视图

设置坐标轴界限坐标轴界限
axis():获取或设置某些轴属性的方便方法。
参数:
pro =['on','off','equal','scaled','tight','auto','normal','image','square']
添加方式:plt.axis(pro[2])
设置横纵坐标的范围,是一个列表很纵坐标相等
如:
x = np.linspace(0,2*np.pi,100)
plt.plot(x,np.sin(x))
plt.xlim([-1,7])
plt.ylim([-1,1])

坐标轴标签
xlable方法和ylable方法
如:plt.xlabel('X',fontsize=25,color='red') #fontsize设置标签字体大小,color设置字体颜色
plt.ylabel("f(x)=sin(x)",fontsize = 25,color="green",rotation=90) #rotation设置标签旋转的角度
title()设置图形标题
plt.title("正弦波sin",fontproperties="KaiTi",fontsize=25) #fontproperties设置字体样式
设置全局字体
from matplotlib.pyplot import rcParams
rcParams["font.sans-serif"]="KaiTi" #对全局的字体进行设置
rcParams["axes.unicode_minus"]=False #对符号进行设值,不设置显示方框
图例:两种方法
1.【推荐使用】在plot函数中增加label参数,在legend方法中传入字符串列表
如:plt.plot(x, x*3.0, label='Fast')
plt.plot(x, x/3.0, label='Slow')
plt.legend()
2.legend方法中传入字符串列表
如:plt.plot(x,np.sin(x),x,np.cos(x))
plt.legend(["sin","cos"])
#属性 loc设置图例位置,若给定元祖,则设置图例在整个视图中的位置
ncol设置图例样式(1代表纵向(默认),2代表横向)

所有的字体样式对照:

保存图片
figure.savefig()
参数:dpi:图形分辨率
facecolor()图像的背景色,默认为w(白色)
如:给子视图添加背景颜色:plt.subplot(1,1,1,facecolor = "#f7f7f7")
给主视图添加背景颜色:plt.savefig("./image/label2.jpg",dpi= 300,facecolor="green")

设置plot的样式风格
plot语句中支持除了X,Y以外的参数,以字符串形式存在,来控制颜色,线型,点型等要素
语法格式:plt.plot(X,Y,"format",.....)
①.设置颜色:color或c 可以是颜色英文名,也可以是十六进制数
如:plt.plot(x,np.sin(x),color =np.random.rand(3)),让随机添加颜色
②.透明度设置:alpha 是一个小于1的浮点数,设置线型的颜色深浅
③.线型:linestyle或ls
④.线宽:linewidth 设置线型的宽度
如:plt.plot(x,np.sin(x),color ="red",alpha =1,ls = "steps",linewidth = 2 )
⑤.不同宽度的破折线:dashes 用来设置破折线的各段的宽度
如:plt.plot(x,np.cos(x),dashes = [5,3]) #线段和空格的比例为5:3
⑥.点型:marker 给图像线型上添加点,
点的样式
marker的属性
如:
plt.plot(x,x**(1/2),marker= "*",markersize=10,markerfacecolor ="red",markeredgecolor = "y")

多个曲线不同属性设置方式(三种)
1.多个都进行设置时,无需声名属性plt.plot(x1,y1,fmt,x2,y2,fmt2......)
如:
x = np.linspace(0.1,10,10)
plt.plot(x,x**(2),"r*-.",x,1/x,"go:") #属性可以连用

2.对实例使用一系列的setter方法
x = np.linspace(-2,2,100000)
line, = plt.plot(x,((np.cos(x)**(1/2))*np.cos(200*x)+(abs(x)**(1/2))-1)*(4-x**3)**0.01)
line.set_linestyle(":")
line.set_color("black")

3.使用setp()方法进行属性设置
x = np.linspace(-2,2,100000)
line, = plt.plot(x,((np.cos(x)**(1/2))*np.cos(200*x)+(abs(x)**(1/2))-1)*(4-x**3)**0.01)
plt.setp(line,color = "r",alpha = 0.6,ls = "-.")

自定义x,y坐标刻度
1.xticks()和yticks()方法
x = np.linspace(0,2*np.pi,100)
line, = plt.plot(x,np.sin(x))
#对坐标刻度进行自定义设置,第一个列表为正常的显示值,第二个列表为想设置成的样式
plt.yticks([-1,0,1],["min",0,"max"],fontsize = 18,color = "red",rotation =60)
plt.xticks(np.arange(0,2*np.pi+0.01,np.pi/2),[0,"$\pi$/2","$\pi$","3$\pi$/2","2$\pi$"],fontsize = 18,color = "r")
#注意pi的输入样式:“$\pi$”

matlplotlib绘图(二)的更多相关文章
- c#使用GDI+简单绘图(二)
// Create the in-memory bitmap where you will draw the image. // This bitmap is 300 pixels wide and ...
- HTML5之Canvas绘图(二) ——应用篇之七巧板
1.canvas绘制七巧板-- <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g ...
- Winform GDI+绘图二:绘制旋转太极图
大家好,今天有时间给大家带来Winform自绘控件的第二部分,也是比较有意思的一个控件:旋转太极图. 大家可以停下思考一下,如果让你来绘制旋转的太极图,大家有什么样的思路呢?我今天跟大家展示一下,我平 ...
- Matlab绘图详解
Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...
- Matlab绘图(一二三维)
Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...
- Matlab绘图-很详细,很全面
强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到 所需图形,这类函数称为高层绘图函数.此外,Matlab还提供 ...
- 2019-04-15 Python之利用matplotlib和numpy的简单绘图
环境:win10家庭版, Anocada的 Spyder 一.简单使用 使用函数 plt.polt(x,y,label,color,width) 根据x,y 数组 绘制直,曲线 import nump ...
- matlab绘图(详细)(全面)
Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...
- Matlab 绘图完整入门
Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...
随机推荐
- vue 开发笔记
vue 开发记录 marked 插件的使用 import marked from "marked"; import hljs from "highlight.js&quo ...
- 如何删除.DS_Store文件?
.DS_Store出现在Desktop和其它地方,看它碍眼,它是什么,详见百度百科 http://baike.baidu.com/link?url=yLTDHR6OS66-981wpCY-mWPF7a ...
- [Java]hashCode的作用
一.如何理解hashCode的作用: 以java.lang.Object来理解,JVM每new一个Object,它都会将这个Object丢到一个Hash哈希表中去,这样的话,下次做Object的比较或 ...
- NET CORE 基础
NET CORE 基础管理系统 [SF]开源的.NET CORE 基础管理系统 - 安装篇 [SF]开源的.NET CORE 基础管理系统 -系列导航 1.开发必备工具 IDE:VS2017 运行 ...
- 060 Permutation Sequence 排列序列
给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列.按大小顺序列出所有排列情况,并一一标记,可得到如下序列 (例如, n = 3): 1."123" 2. & ...
- SSH 的端口转发
第一部分 概述 当你在咖啡馆享受免费 WiFi 的时候,有没有想到可能有人正在窃取你的密码及隐私信息?当你发现实验室的防火墙阻止了你的网络应用端口,是不是有苦难言?来看看 SSH 的端口转发功能能给我 ...
- LCD1602显示中文汉字
小子在西藏 2011-11-25编写 特别说明笔者是上面的作者,感谢那些原意分享知识的人.时隔5年我又看到了笔者当年写的东西,我想这期间还有许许多多的人 今天写在博客上,愿更多后来者可以学习. LCD ...
- 《springcloud 二》SrpingCloud Zuul 微服务网关搭建
网关作用 网关的作用,可以实现负载均衡.路由转发.日志.权限控制.监控等. 网关与过滤器区别 网关是拦截所有服务器请求进行控制 过滤器拦截某单个服务器请求进行控制 Nginx与Zuul的区别 Ngin ...
- wepy开发踩坑记录
与vue的不同 methods对象只存放tap等事件触发时的方法 events对象只存放$emit及$broadcast方法触发的事件 自定义方法及属性放在与methods平级的位置 props是动态 ...
- ASP.Net 页面和后台执行的先后顺序
后台的Page_Load事件——>前台页面加载