数据可视化基础(五)
- 坐标轴范围
-
- 函数参数
- 代码
- 坐标轴刻度
-
- 函数参数
- 代码
- 添加坐标轴
-
- 函数参数
- 代码
- 日期绘图
-
- 格式化
- 自适应
坐标轴范围
函数参数
-
plt.axis()
plt.axis([横轴起始,横轴终止,纵轴起始,纵轴终止])
-
plt.xlim()
调两边 xlim([起始,终止]) xlim(xmin= ,xmax=)
调一边 xlim(xmin=) xlim(xmax=)
- plt.ylim()
代码
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(-10,11,1)
plt.plot(x,x*x)
plt.axis()
plt.show()
- axis
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(-10,11,1)
plt.plot(x,x*x)
plt.axis([-5,5,20,100])
plt.show()
- xlim ylim两侧
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(-10,11,1)
plt.plot(x,x*x)
plt.xlim([-5,5])
plt.ylim([0,60])
plt.show()
- 一侧
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(-10,11,1)
plt.plot(x,x*x)
plt.xlim([-5,5])
plt.xlim(xmin=-10)
plt.ylim([0,60])
plt.show()
坐标轴刻度
函数参数
- 获取当前坐标轴 ax=plt.gca()
-
坐标轴参数 ax.locator_params()
一共多少格 nbins
特指x轴或y轴 (‘y’,nbins= )
代码
- 面向对象
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(-10,11,1)
plt.plot(x,x)
#获取当前坐标轴
ax=plt.gca()
ax.locator_params('y',nbins=5)
plt.show()
设定前
设定后
- pyplot
import matplotlib.pyplot as plt
import numpy as np
plt.locator_params('y',nbins=30)
plt.show()
添加坐标轴
双坐标轴图
函数参数
- plt.twinx()
ax2=ax1.twinx()
- twiny()
代码
- pyplot
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(2,20,1)
y1=x*x
y2=np.log(x)
#pyplot
plt.plot(x,y1)
plt.twinx()
plt.plot(x,y2,'g')
plt.show()
import matplotlib.pyplot as plt
import numpy as np
##pyplot2
plt.plot(y1,x)
plt.twiny()
plt.plot(y2,x,'g')
plt.show()
- 面向对象
import matplotlib.pyplot as plt
import numpy as np
#面向对象
fig=plt.figure()
ax1=fig.add_subplot(111)
ax1.plot(x,y1)
ax1.set_ylabel('y1')
ax2=ax1.twinx()
ax2.plot(x,y2,'g')
ax2.set_ylabel('y2')
plt.show()
日期绘图
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import datetime
fig=plt.figure()
start=datetime.datetime(2020,2,21)
stop=datetime.datetime(2021,2,21)
delta=datetime.timedelta(days=1)
dates=mpl.dates.drange(start,stop,delta)
y=np.random.rand(len(dates))
ax=plt.gca()
ax.plot_date(dates,y,linestyle='-',marker='')
plt.show()
格式化
mpl.dates.DateFormatter(’%Y-%m-%d’)
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import datetime
fig=plt.figure()
start=datetime.datetime(2020,2,21)
stop=datetime.datetime(2021,2,21)
delta=datetime.timedelta(days=1)
dates=mpl.dates.drange(start,stop,delta)
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)
plt.show()
自适应
fig.autofmt_xdate()
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import datetime
fig=plt.figure()
start=datetime.datetime(2020,2,21)
stop=datetime.datetime(2021,2,21)
delta=datetime.timedelta(days=1)
dates=mpl.dates.drange(start,stop,delta)
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()