matplotlib的学习

1、matplotlib(2D绘图库)

https://matplotlib.org/users/index.html
官方讲解网站

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2, 100)

plt.plot(x, x, label='linear')
plt.plot(x, x**2, label='quadratic')#函数曲线
plt.plot(x, x**3, label='cubic')

plt.xlabel('x label')#对x轴作说明
plt.ylabel('y label')#对y轴做说明

plt.title("Simple Plot")#图的主题名称
#显示图例,设置图例的显示位置
plt.legend()

plt.show()

运行结果https://blog.csdn.net/xuxinrk/article/details/80051238
plot函数的用法

2 、figure 图像

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-10, 10, 100)
y1=2*x+2
y2=x**2
y3=np.exp(-(x**2)/2)
#创建figure,相当于重绘一张,不同的图像显示在不同的figure中,
# 如果不需要的话,可以不创建figure
plt.figure()
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')

#修改图像的尺寸
plt.figure(figsize=(10,10))
plt.plot(x,y2,color='yellow',linewidth=5.0,linestyle='-')

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

plt.xlabel("x")
plt.ylabel("y")

plt.legend()

plt.show()

下面的代码加了一些东西,实现了一些功能——>看注释

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3, 3, 100)
y1=2*x+2
y2=x**2
y3 = np.exp(-(x**2)/2)
#创建figure,相当于重绘一张,不同的图像显示在不同的figure中,
# 如果不需要的话,可以不创建figure
plt.figure()
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')

#修改图像的尺寸
plt.plot(x,y2,color='yellow',linewidth=5.0,linestyle='-')

plt.plot(x,y3)
#设置x,y轴的显示范围限制
plt.xlim(-1,1)
plt.ylim(-2,10)
#x,y的标签取名
plt.xlabel("x")
plt.ylabel("y")

#在-2到2之间设置11个点
new_ticks = np.linspace(-2,2,11)
print(new_ticks)
#将这十一个点设置为x轴要显示的点
plt.xticks(new_ticks)
#将y轴要显示的点改为字符串的形式
plt.yticks([-1,0,1,2,3],['level1','level2','level3','level4','level5'])

plt.show()

找到了绘制十字架坐标轴的方法

哈哈哈!!缘分妙不可言。

#gca 获取坐标轴的意思 axis
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
#把x轴刻度设置为bottom
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.figure()
l1,= plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')

#修改图像的尺寸
l2,= plt.plot(x,y2,color='yellow',linewidth=5.0,linestyle='-')
#handle传入图例中,labels给每条线加标签
plt.legend(handles=[l1,l2],labels=['test1','test2'],loc='best')

图像的标注

x0=1
y0=2*x0+2
plt.scatter(x0,y0,s=50,color='b')
#画虚线
plt.plot([x0,x0],[y0,0],'k--',lw=1)
plt.plot([0,x0],[y0,y0],'k--',lw=1)

plt.annotate(r'$(1,4)$',xy=(x0,y0),xytext=(+30,-30),textcoords='offset points',fontsize=16,
             arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))
#给曲线加上说明
plt.text(3,6,r'$y=2x+2$',fontdict={'size':'16','color':"r"})

加标注和说明

scatter画点

import matplotlib.pyplot as plt
import numpy as np
#用numpy在x,y两边各生成0到4的五个点
plt.scatter(np.arange(5),np.arange(5))
#表示在正态分布μ=0,σ=1的情况下,去区域内任意500个点
#numpy.random.normal(loc=0.0, scale=1.0, size=None)
x=np.random.normal(0,1,500)
y=np.random.normal(0,1,500)
#alpha透明度,画点
plt.scatter(x,y,s=50,c='b',alpha=.5)
plt.xlim((-2,2))
plt.ylim((-2,2))

#设置x,y轴的刻度,不设置是表示刻度为空,不显示任何刻度
plt.xticks(())
plt.yticks(())

plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值