matplotlib python作图(一)

Matplotlib的设计理念是能够用轻松简单的方式生成强大的可视化效果,是Python学习过程中核心库之一。被用在python中绘制数组的2D图形库,可视化非常方便。

调用并简化写成plt

import matplotlib.pyplot as plt

举个栗子1:(从栗子1开始都是在不断的增加新的参数或其他内容)

import matplotlib.pyplot as plt
import numpy as np           #上面两行调用两个包,并写成简写形式plt和np
      
x = np.linspace(-1,1,40)          #利用numpy生成一组数据
y = 2*x + 1 
plt.plot(x,y)      #画图
plt.show()         #显示上述所示的图,如果不用这个命令上述图是不会显示的

 运行结果如图示:

栗子2:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-1,1,40)
y1 = 2*x + 1
y2 = x**2    #求x 的平方

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

运行结果如下: 

栗子3: 

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-1,1,40)
y1 = 2*x + 1
y2 = x**2

plt.figure()
plt.plot(x,y1)
plt.figure(num=3,figsize=(6,4))   #可以在图上面看见写的是figure3,而且这次显示的两个图大小不一 样,因为我们进行了设置
plt.plot(x,y2)
plt.plot(x,y1,color='red',linewidth=3.0,linestyle='--') #我们对plot中一些参数做了调整,默认的color是蓝色,线宽是1,直线
plt.show()

栗子4:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-1,1,40)
y1 = 2*x + 1
y2 = x**2

plt.figure()
plt.plot(x,y1)
plt.figure(num=3,figsize=(6,4))
plt.plot(x,y2)
plt.plot(x,y1,color='red',linewidth=3.0,linestyle='--')

plt.xlim((-1,2))  #设置x轴的范围
plt.ylim((-1,3))
plt.xlabel('I am X')
plt.ylabel('I am Y')
plt.show()

栗子5: (我们可以注意到上面那个figure3的横坐标分别是-1,-0.5,0,0.5,1的间隔,其实这个也可以换,在栗子5中展示)

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-1,1,40)
y1 = 2*x + 1
y2 = x**2

plt.figure()
plt.plot(x,y1)
plt.figure(num=3,figsize=(6,4))
plt.plot(x,y2)
plt.plot(x,y1,color='red',linewidth=3.0,linestyle='--')

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

new_ticks = np.linspace(-1,2,9)    #设置新的坐标   
print(new_ticks)
plt.xticks(new_ticks)

plt.show()

稍微对y轴的坐标也变动一下:

再来点花哨的:

再对y轴的  字体做一些改变:

栗子6:(终于对坐标轴动了手) 

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-1,1,40)
y1 = 2*x + 1
y2 = x**2

plt.figure()
plt.plot(x,y1)
plt.figure(num=3,figsize=(6,4))
plt.plot(x,y2)
plt.plot(x,y1,color='red',linewidth=3.0,linestyle='--')

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

new_ticks = np.linspace(-1,2,9)
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$'])
              #$ 在正则表达式中,匹配一个字符串的末尾
              
#gca = 'get current axis'
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')         #通过这两句话,发现得到结果图上右边和上面没有黑边框
ax.xaxis.set_ticks_position('bottom')      #接下来设置坐标轴位置
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))
              
plt.show()

 加上图例

 

legend()其实可以有参数

举个栗子

~
l1=plt.plot(x,y2,label='up')
l2=plt.plot(x,y1,color='red',linewidth=3.0,linestyle='--',label='down')
plt.legend(handles=[l1,l2],labels=['aaa','bbb'],loc='best')

~

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值