python_matplotlib DAY_21(4)图例,坐标的使用

学习内容
matplotlib图例和坐标的使用
重点
1.图例的操作
1)一般实现

import numpy as np
import matplotlib.pyplot as plt

a = np.arange(1, 10)

plt.plot(a, a - 1, label='ONE')

plt.plot(a, 2 * a, label="TWO")

plt.plot(a, a + 1, label='THREEW')
plt.legend(loc=0,ncol=3)
#loc代表位置,0-8代表不同的位置,0表示自适应最好的位置
#ncol表示图例有几列,默认一列,但是为了扁平化,设置了3列
plt.show()

在这里插入图片描述
2)在面向对象作图种实现

import numpy as np
import matplotlib.pyplot as plt

a = np.arange(1, 10)
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.plot(a, 2*a - 1, label='ONE')
ax1.plot(a,  a, label="TWO")
ax1.plot(a, 3*a + 1, label='THREEW')
ax1.legend(loc=0, ncol=3)
plt.show()

在这里插入图片描述
2,坐标轴操作
1)改变坐标范围

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

a = np.arange(-10, 10)
plt.plot(a, a ** 2, label="ONE")
plt.grid(linestyle="-")
plt.legend(loc=0)
plt.show()

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

plt.axis([-5,5,0,5])#[x最小值,x最大值,y最小值,y最大值]

在这里插入图片描述
plt.xlim或plt.ylim()

plt.xlim(-5,10)#x从-5到10
plt.ylim(top=12,bottom=2)#y的最小为2,最高为12

在这里插入图片描述

2)坐标刻度
改变数字刻度locator_params()

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

a = np.arange(-10, 10)
plt.plot(a, a ** 2, label="ONE")
plt.grid(linestyle="-")
plt.legend(loc=0)
plt.locator_params('y',nbins=5)
#改变y轴,区间分为5块,如果不写x或者y那么就默认两个坐标轴都变

plt.show()

在这里插入图片描述

改变日期刻度

import numpy as np
import matplotlib.pyplot as plt
import datetime
import matplotlib as mpl

fig = plt.figure()
start = datetime.datetime(2020, 1, 28)
end = datetime.datetime(2020, 2, 8)
delta = datetime.timedelta(days=1)
dates = mpl.dates.drange(start, end, delta)
y = np.random.rand(len(dates))
#产生数据
ax = plt.gca()
#获取坐标轴
ax.plot_date(dates, y,linestyle="-")
#画关于日期的方式,不加linestyle就指标点,不连线
ax.xaxis.set_major_formatter(mpl.dates.DateFormatter('%Y %m'))
#改变x轴刻度的格式,调用matplit的dates的DateFormatter,
#括号里面是要改的日期格式,年Y必须大写
fig.autofmt_xdate()
#让日期格式自适应
plt.show()

在这里插入图片描述

3.增加坐标轴
在面向对象编程中

import numpy as np
import matplotlib.pyplot as plt

a=np.arange(1,20)
fig = plt.figure()
ax1=fig.add_subplot(1,1,1)
ax1.plot(a,a**2,linestyle='--')
ax1.set_ylabel('Y1')#ax1的y轴名字
ax1.set_xlabel("compare")#ax1的x轴名字
ax2=ax1.twinx()#ax2与ax1共用x轴
ax2.set_ylabel('Y2')
ax2.plot(a,np.log(a))

plt.show()

在这里插入图片描述

plt.twinx()共用y轴
plt.twiny()共用y轴
一般画图

import numpy as np
import matplotlib.pyplot as plt

a=np.arange(1,20)
plt.plot(a,a**2,color="r")
plt.twiny()#共用Y轴
plt.plot(a,a**3/2)

plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值