首先引入matplotlib图形库pycharm操作如下
首先点击设置
找到项目里面的Python解释器然后点击+
然后输入matplotlib安装即可
np.linspace(-1, 1, 10) 前两个数字代表范围,后面数字代表在范围内产生的结点数(均分)
plt.plot(x, y, color=, linewidth=, linestyle=,label=,'ob-')
表示y与x的函数图像,color 代表着线的颜色默认为蓝色,linewidth 代表线的粗细默认为1,linestyle 代表线的类型默认是实线。label 表示设置线的标签。'ob-'表示画图结点,默认是不画结点
plt.figure(num=, figsize=(8, 5))
num表示输出图形窗口的名字,不加时默认从1开始自增如figure1,figure2,figure3
figsize里面两个参数分别表示输出窗口的长和宽
plt.show()
用来输出窗口
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1, 1, 10) # 前两个数字代表范围,后面数字代表在范围内产生的结点数
y1 = 2*x + 1
y2 = x**2
plt.figure() # 不加值默认从1开始后面输出的图像为2,3,4
# 'ob-'显示结点
plt.plot(x, y1, 'ob-')
plt.figure(num=3, figsize=(8, 5)) # num = 3 表示设置当前的名字,figsize = (8, 5)代表长和宽
plt.plot(x, y2) # 输出Y关于X的函数,线的颜色默认为蓝色
# color 设置颜色 linewidth 设置线的粗细 linestyle 设置线的类型
plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')
plt.show()
运行结果为
plt.xlim((-2, 2))
plt.ylim((-3, 3))
这两个函数分别用来圈定X轴与Y轴的范围
plt.xlabel('I am X')
plt.ylabel('I am Y')
这两个函数分别用来设置X Y轴的名字默认X轴是下边的线,Y轴是左边的线
plt.xticks([])
表示X轴的刻度用列表中的数据来表示
plt.xticks([ ],[ ])
表示Y轴用后面列表内的字符串代替前面列表对应的数字刻度
plt.gca()
gca就是get current axes的意思,意思是获得当前的轴
ax.spines[ ].set_color( )
spines 表示选定轴 'right','left','top','bottom'分别代表右左上下四轴,set_color是设置颜色
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
分别设置X Y轴刻度的位置
ax.spines[].set_position(('data', 0))
spines 表示选定的轴,set_position( )设置变量的位置,0代表刻度的位置。位置的所有属性包括: outward,axes,data
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1, 1, 10) # 前两个数字代表范围,后面数字代表在范围内产生的结点数
y1 = 2*x + 1
y2 = x**2
# plt.figure() # 不加值默认从1开始后面输出的图像为2,3,4
# 'ob-'显示结点
# plt.plot(x, y1, 'ob-')
plt.figure(num=3, figsize=(8, 5)) # num = 3 表示设置当前的名字,figsize = (8, 5)代表长和宽
plt.plot(x, y2) # 输出Y关于X的函数,线的颜色默认为蓝色
# color 设置颜色 linewidth 设置线的粗细 linestyle 设置线的类型
plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')
plt.xlim((-1, 2)) # 设置X轴的范围
plt.ylim((-2, 3)) # 设置Y轴的范围
plt.xlabel('I am X') # 设置X轴的名字
plt.ylabel('I am Y') # 设置Y轴的名字
new_tick = np.linspace(-1, 2, 5)
print(new_tick)
plt.xticks(new_tick) # 将-1到2分成四份做为X轴的刻度
# 用后面列表内的名字代替前面列表对应的刻度
plt.yticks([-2, -1.8, -1, 1.22, 3], [r'$really\ bad$', r'$bad$', '$normal$', r'$good$', r'$really\ good$'])
ax = plt.gca() # 获得当前坐标轴,存储到ax中
ax.spines['right'].set_color('none') # 将右边的轴设置为空
ax.spines['top'].set_color('none') # 将顶部的轴设置为空
ax.xaxis.set_ticks_position('bottom') # 用来把X的刻度放在下方的轴
ax.yaxis.set_ticks_position('left') # 用来把Y的刻度放在左边的轴
ax.spines['bottom'].set_position(('data', 0)) # 将X轴移动到Y轴0刻度的位置
ax.spines['left'].set_position(('data', 0)) # 将Y轴移动到X轴0刻度的位置
plt.show()
运行结果为
m, = plt.plot(x, y, label='up')
用m,来接收plt.plot返回的标签,不加逗号接受不到。
plt.legend(handles=[m1, m2, ], labels=['aaa', 'bbb'], loc='best')
handles用列表来接收线的信息,最后一个线后面的逗号不能省,labels按照顺序对前面的直线加上标签,loc = 'best',代表会自动寻找一个数据较少的地方打印标签
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1, 1, 10) # 前两个数字代表范围,后面数字代表在范围内产生的结点数
y1 = 2*x + 1
y2 = x**2+1
l1, = plt.plot(x, y2, label='up')
l2, = plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--', label='down')
plt.legend(handles=[l1, l2, ], loc='best')
plt.show()
运行结果为
初学者,如有不对还请指出