ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Matplotlib学习

2019-06-29 13:48:44  阅读:220  来源: 互联网

标签:plot plt figure Matplotlib 学习 matplotlib y1 y2


前言

在B站上把莫烦的Matplotlib教学视频刷一遍

正文

一、

首先是Matplotlib的基本用法

import matplotlib.pyplot as plt
import numpy as np
#%matplotlib auto
#%matplotlib qt5
x = np.linspace(-1,1,50)
y = 2*x+1

plt.plot(x,y)
plt.show()

首先上述代码如果是在jupyter notebook中执行的,那么注释掉的两行就要至少放一行在这里,才会出现独立的图片,否则会是内嵌在jupyter notebook里;

当然,如果是单独运行一个py文件,那么上述这两行就不能写上去,否则要报错;

二、

接着是figure的使用方法,figure是设定指定窗口来画图,多个figure有多个图片,也可以在一个figure里画好几条线

%matplotlib qt5
x = np.linspace(-3,3,50)
y1 = 2*x+1
y2 = x**2

plt.figure()
plt.plot(x,y1)

plt.figure(num=3,figsize=(8,5))
plt.plot(x,y2)
#plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')

plt.show()

 

 

表示两个figure生成两个图片,其中第二个图片设定为序号3,并且长和宽也指定

同样,当我需要在一个图片里放两条线时,只需

%matplotlib qt5
x = np.linspace(-3,3,50)
y1 = 2*x+1
y2 = x**2

plt.figure()
plt.plot(x,y1)

plt.figure(num=3,figsize=(8,5))
plt.plot(x,y2)
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')

plt.show()

三、

坐标轴修改

首先我们看一下怎样限定x和y轴的坐标范围:

%matplotlib qt5
x = np.linspace(-3,3,50)
y1 = 2*x+1
y2 = x**2

plt.figure()
plt.plot(x,y2)
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')

plt.xlim((-1,2))
plt.ylim((-2,3))


plt.show()

接着看看对坐标轴说明进行修改

%matplotlib qt5
x = np.linspace(-3,3,50)
y1 = 2*x+1
y2 = x**2

plt.figure()
plt.plot(x,y2)
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')

plt.xlim((-1,2))
plt.ylim((-2,3))
plt.xlabel('I am x')
plt.ylabel('I am y')

new_ticks= np.linspace(-1,2,4)
print(new_ticks)
plt.xticks(new_ticks)
plt.yticks([-2,-1.8,-1,1.22,3,],
           [r'$really\ bad$',r'$bad \alpha$',r'$normal$',r'$good$' ,r'$really\ good$'])
plt.show()

xticks和yticks有两个返回值,一个是刻度,一个刻度标签

 

 

标签:plot,plt,figure,Matplotlib,学习,matplotlib,y1,y2
来源: https://www.cnblogs.com/yqpy/p/11106405.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有