【Python数据可视化】Matplotlib学习笔记之pyplot(3)

 

【Python数据可视化】Matplotlib学习笔记之pyplot(3)

        简介:Matplotlib 是一个Python的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形 。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。

        编程环境:Python 3.8

                          pycharm 2017 

        需要安装的库:numpy,matplotlib

接上篇【Python数据可视化】Matplotlib学习笔记之pyplot(2)   <<<点此阅读

'''13.调整坐标轴范围'''
import numpy as np
import matplotlib.pyplot as plt

'''根据需求调整坐标轴范围'''
x=np.arange(-10,11,1)

plt.plot(x,x**2)
'''1.显示坐标轴范围'''
plt.axis([-5,5,0,50])

'''2.xlim,ylim只调整x,y轴'''
plt.xlim([-7,7])
plt.ylim([0,100])
'''3.只调整一端'''
plt.xlim(xmin=-9)
plt.ylim(ymax=80)

plt.show()

'''14.调整坐标轴刻度'''
import numpy as np
import matplotlib.pyplot as plt
import datetime
import matplotlib as mpl

'''1.面向对象方式---调整坐标轴刻度'''
x=np.arange(1,11,1)
plt.plot(x,x)

'''获取当前图形的坐标轴'''
ax=plt.gca()
'''设置刻度有多少格
   只调整x/y轴'''
ax.locator_params('x',nbins=20)
ax.locator_params('y',nbins=10)

'''2.plt实时交互--调整坐标轴刻度'''
plt.locator_params('x',nbins=5)
plt.show()

'''3.面向对象调整日期刻度'''
fig=plt.figure()

start=datetime.datetime(2019,1,1)
stop=datetime.datetime(2020,1,1)
delta=datetime.timedelta(days=1)

'''生成dates数列'''
dates=mpl.dates.drange(start,stop,delta)
'''生成dates长度的随机数列'''
y=np.random.rand(len(dates))

ax=plt.gca()
ax.plot_date(dates,y,linestyle='-',marker='')
'''调整格式--其实已经自动调整好了'''
date_format=mpl.dates.DateFormatter('%Y-%m-%d')
ax.xaxis.set_major_formatter(date_format)
'''调整重叠,自适应调节'''
fig.autofmt_xdate()

plt.show()

 

'''15.添加另一个坐标轴'''
import numpy as np
import matplotlib.pyplot as plt

x=np.arange(1,21,1)
y1=x*x
y2=np.log(x)
'''1.pyplot方式'''
'''两个y轴'''
plt.plot(x,y1,'orange')
plt.twinx()     #--添加坐标轴
plt.plot(x,y2,'r')
plt.show()
'''两个x轴'''
plt.plot(y1,x,'orange')
plt.twiny()     #--添加坐标轴
plt.plot(y2,x,'r')
plt.show()


'''2.面向对象方式'''
fig=plt.figure(dpi=100)
ax1=fig.add_subplot(111)
ax1.plot(x,y1,'b',label='Y1',linewidth=0.5)  #设置图例名称
'''设置x/y坐标轴变量名'''
ax1.set_ylabel('Y1')
ax1.set_xlabel('Compare Y1 and Y2')
ax1.legend(loc='upper left')

ax2=ax1.twinx()
ax2.plot(x,y2,'c',label='Y2',linewidth=0.5)
ax2.set_ylabel('Y2')
ax2.legend(loc='upper center')

plt.show()

 

'''16.添加注释'''
import numpy as np
import matplotlib.pyplot as plt

'''着重强调某一个点'''
x=np.arange(-10,11,1)
y=x**2

plt.plot(x,y)
plt.annotate('this is the bottom',xy=(0,1),xytext=(-2.5,20),  #xy:注释的起始点
             arrowprops=dict(facecolor='orange',headlength=10,   #headlength箭头头部的长度
                             headwidth=10,width=5))    #headwidth箭头头部的宽度  width箭身的宽度

plt.show()

'''17.添加文字标注'''
import numpy as np
import matplotlib.pyplot as plt

x=np.arange(-10,11,1)
y=x**2

plt.plot(x,y)
'''坐标,文字内容,字体,大小,颜色,样式,粗细,阴影'''
plt.text(-2.5,60,
         'function:y=x*x',
         family='serif',
         size=20,
         color='orange',
         style='normal',
         weight='black',
         bbox=dict(facecolor='r',alpha=0.1))

plt.text(-2.5,80,
         'function:y=x*x',
         family='fantasy',
         size=20,
         color='green',
         style='italic',
         weight='light',
         bbox=dict(facecolor='b',alpha=0.1))  #normal,italic,oblique
plt.show()

'''18.使用TeX公式写出数学公式'''
import matplotlib.pyplot as plt

'''matplotlib自带mathtext引擎,不需安装TeX系统
   $作为开始和结束符'''
fig=plt.figure()
ax=fig.add_subplot(111)

ax.set_xlim([1,7])
ax.set_ylim([1,5])

ax.text(2,4,r"$ \alpha_i \beta_i \pi \lambda \omega $",size=15)  #r代表字符串不转义
ax.text(4,4,r"$ \sin(0)=\cos(\frac{\pi}{2}) $",size=15)
ax.text(2,2,r"$ \lim_{x \rightarrow y} \frac{1}{x^3} $",size=15)
ax.text(4,2,r"$ \sqrt[4]{x}=\sqrt{y} $",size=15)

plt.show()

-------------------------未完待续--------------------------

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值