主要模块:matplotlib.pyplot;numpy(制造数据)
1、最简单的绘图:plt.plot()
x = np.linspace(-1,1,50)
y = 2*x + 1
plt.plot(x,y)
plt.show()
2、第一个:回到主界面;第五个放大某一细节,第四个拖动,第六个边框设置。
3、figure:(一个大窗口,可以有好几个窗口。)一个窗口可以防止多张图片。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-3,3,50)
y1 = 2*x + 1
y2 = x**2
# 绘制一个figure,语句以plt.figure开始,不设置参数的情况下,figure序号由1开始
plt.figure()
plt.plot(x, y1)
# 两条曲线绘制于同一张图上
plt.figure(num = 3, figsize = (8,5))
plt.plot(x, y2)
plt.plot(x, y1,color = 'red', linewidth = 1.0, linestyle = '--')
plt.show()
4、设置坐标轴
# 两条曲线绘制于同一张图上
plt.figure(num = 3, figsize = (8,5))
plt.plot(x, y2)
plt.plot(x, y1,color = 'red', linewidth = 1.0, linestyle = '--')
# 设置横纵坐标的范围
plt.xlim((-1,2))
plt.ylim((-2,3))
plt.xlabel('I am x')
plt.ylabel('I am y')
# 横纵坐标的数据自定义
new_ticks = np.linspace(-1,2,5)
plt.xticks(new_ticks)
#y打印成字符的形式,-2的位置对应really,-1.8的位置对应normal,3的位置对应good
# 空格不需转义,后边的需要
plt.yticks([-2, -1.8, 3],
['really bad', 'normal', 'good'])
# 字体应用转义形式,也可打印数学符号需要进行转义,r代表正则化
plt.yticks([-2, -1.8, 3],
[r'$really\ bad$', r'$normal\ \alpha$', r'$good$'])
plt.show()
修改坐标轴的位置、标尺
# gca = 'get current axis'
# 拿出现在的axis
ax = plt.gca()
# spines获取坐标轴的脊粱(四个边框)
# 除去右边、上边的边框
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
# 整个图中的x轴和y轴还未默认
ax.xaixs.set_ticks_positon('bottom')
ax.yaxis.set_ticks_position('left')
# 挪动x轴到y轴的0位置,挪动y轴到x轴的0位置
# 定位方式有axes(相对于x或者y的百分之多少)
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data',0))
plt.show()