Python——matplotlib的练习

  1. 最简单的示例
    import matplotlib.pyplot as pltimport matplotlib.pyplot as plt
    #to draw the sin() curve
    import numpy as np
    x=np.linspace(-np.pi, np.pi, 200)
    C,S=np.cos(x), np.sin(x)

plt.plot(x,C)
plt.plot(x,S)

plt.show()
在这里插入图片描述

  1. 进阶版本

to draw the sin() curve-advanced version

import numpy as np
x=np.linspace(-np.pi, np.pi, 200)
C,S=np.cos(x), np.sin(x)
plt.plot(x,C)
plt.plot(x,S)

plt.plot(x,C,color=‘blue’,linewidth=2.0, linestyle=’-’)
plt.plot(x,S,color=‘red’,linewidth=2.0,linestyle=’-’)

plt.xlim(x.min()*1.1, x.max()*1.1)
plt.ylim(C.min()*1.1, C.max()*1.1)#设置坐标轴的长度

#设置坐标轴的刻度和标签
plt.xticks((-np.pi, -np.pi/2,np.pi/2,np.pi),(r’ − π -\pi π’,r’ − π / 2 -\pi/2 π/2’,r’ + π / 2 +\pi/2 +π/2’,r’ + π +\pi +π’))
plt.yticks([-1,-0.5,0,0.5,1])
在这里插入图片描述
#为了将左侧图片中4个方向的坐标轴改为两个方向的交叉坐标轴,方法是通过设置颜色为透明色,把上方和右侧的坐标边线隐藏起来,然后移动左侧和下方的坐标边线到原点(0,0)
的位置
#坐标轴总共有4个连线,通过设置透明色set_color(‘none’)来隐藏上方、右方的边线
#通过set_position()移动左侧和下侧的边线
#通过set_ticks_position()设置坐标轴的刻度线的显示位置

ax=plt.gca()
#gca 代表当前坐标轴即get current axis

ax.spines[‘right’].set_color(‘none’)#隐藏右边和上边的坐标轴
ax.spines[‘top’].set_color(‘none’)

ax.xaxis.set_ticks_position(‘bottom’)#设置X轴的刻度的显示位置为bottom

ax.spines[‘bottom’].set_position((‘data’,0))#设置下方坐标轴的位置
ax.yaxis.set_ticks_position(‘left’)#将y轴的刻度位置设置为左边

ax.spines[‘left’].set_position((‘data’,0))#设置左侧坐标轴的位置

plt.legend(loc=‘upper left’)
#在左上角upper left设置一个铭牌用来标识图中的正弦曲线和余弦曲线
No handles with labels found to put in legend.

t=2*np.pi/3
#画出cos(t)所在的点在X轴上的位置
plt.plot([t,t],[0,np.cos(t)],color=‘blue’,linewidth=1.5, linestyle=’–’)

#画出标示的坐标点,即在(t,cos(t))处画出一个大小为50的蓝色点
plt.scatter([t,],[np.cos(t),],50,color=‘blue’)

#画出标示点的值,及cos(t)的值
plt.annotate(r’ c o s ( 2 π 3 ) = − 1 2 cos(\frac{2\pi}{3})=-\frac{1}{2} cos(32π)=21’,xy=(t,np.cos(t)),xycoords=‘data’,xytext=(-90,-50),textcoords=‘offset points’,fontsize=16,arrowprops=dict(arrowstyle=’->’,connectionstyle=‘arc3,rad=.2’))

#其中plt.annotate()函数的功能是在图片上标示文本
#设置坐标刻度的字体大小,添加半透明的背景
for label in ax.get_xticklabels() +ax.get_yticklabels():
label.set_fontsize(16)
label.set_bbox(dict(facecolor=‘white’,edgecolor=‘None’,alpha=0.65))

plt.show()

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值