import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-1,1,50)
y=2*x+1
plt.plot(x,y)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
# 如果想同时展示多张图,同一个figure下属于此figure
x=np.linspace(-1,1,50)
y1=2*x+1
y2=5*x+1
plt.figure()
plt.plot(x,y1)
plt.plot(x,y2,color='red',linewidth=1.0,linestyle='--')# 默认颜色为蓝色,linewidth设置宽度,linestyle设置样式
plt.show()
import matplotlib.pyplot as plt
import numpy as np
#如果想同时展示多张图,同一个figure下属于此figure
x=np.linspace(-1,1,50)
y1=2*x+1
plt.figure()
plt.plot(x,y1)
y2=5*x+1
plt.figure(num=3,figsize=(8,5))#参数可以不写,num=3为序号,figsize可设置展示的长和宽
plt.plot(x,y2)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1, 1, 50)
y1 = 2 * x + 1
y2 = x ** 2
plt.figure()
plt.plot(x, y1)
plt.plot(x, y2, color='red', linewidth=1.0, linestyle='--')
plt.xlim((-1, 2)) # 设置x坐标范围
plt.ylim((-1, 5)) # 设置y坐标范围
plt.xlabel('i am x') # 设置x轴描述
plt.ylabel('i am y') # 设置y轴描述
plt.show()
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1, 1, 50)
y1 = 2 * x + 1
y2 = x ** 2
plt.figure()
plt.plot(x, y1)
plt.plot(x, y2, color='red', linewidth=1.0, linestyle='--')
# 更换x角标的值
new_ticks=np.linspace(-1,2,5)
plt.xticks(new_ticks)
# 更换y角标的值为指定字符
plt.yticks([0,1,2],['a','b','c'])#需要一一对应
plt.show()
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1, 1, 50)
y1 = 2 * x + 1
y2 = x ** 2
plt.figure()
plt.plot(x, y1)
plt.plot(x, y2, color='red', linewidth=1.0, linestyle='--')
plt.xlim((-1, 2)) # 设置x坐标范围
plt.ylim((-1, 5)) # 设置y坐标范围
plt.xlabel('i am x') # 设置x轴描述
plt.ylabel('i am y') # 设置y轴描述
# 更换x角标的值
new_ticks=np.linspace(-1,2,5)
plt.xticks(new_ticks)
# 更换y角标的值为指定字符
plt.yticks([0,1,2],['a','b','c'])#需要一一对应
# gca=get current axis
# 获取当前的轴gca
ax=plt.gca()
# 轴有四个脊梁,上下左右边框
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
# 设置x轴和y轴
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
# 将x轴和y轴移动一下
ax.spines['left'].set_position(('data',0)) # 将x轴移到y的0处
ax.spines['bottom'].set_position(('data',0))
plt.show()
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1, 1, 50)
y1 = 2 * x + 1
y2 = x ** 2
plt.figure()
plt.plot(x, y1,label='aaa')
plt.plot(x, y2, color='red', linewidth=1.0, linestyle='--',label='bbb')
plt.legend()
plt.show()
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1, 1, 50)
y1 = 2 * x + 1
y2 = x ** 2
plt.figure()
# 注意命名有逗号
l1,=plt.plot(x, y1,label='aaa')
l2,=plt.plot(x, y2, color='red', linewidth=1.0, linestyle='--',label='bbb')
# 可以显示想展示的线,按顺序对于label的名字,loc的参数默认是最好,找数据最少的地方
plt.legend(handles=[l1,],labels=['xx',],loc='best')
plt.show()
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(1, 10, 20)
y1 = x
plt.figure()
l1,=plt.plot(x, y1,label='aaa')
plt.legend(handles=[l1,],labels=['xx',],loc='best')
x0,y0=6,6
plt.scatter(x0,y0,s=50)# 制作散点图,此处只寻找一个点
plt.plot([6,6],[6,0],'k--') # 使在这两个坐标两点之间连个线,k--是简写,表示黑色虚线
#给此点一个标注,xycoords表示xy参数的值以data数据作为标准,标注的内容是textcoords的位置是基于原始的点,arrowprops是箭头的样式
plt.annotate('i am (6,6)',xy=(x0,y0),xycoords='data',xytext=(+30,-30),textcoords='offset points',fontsize=16,
arrowprops=dict(arrowstyle='->'))
plt.show()
制作散点图
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(1, 10, 20)
y = x
plt.figure()
plt.scatter(x, y,)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
X = np.arange(10)
Y = X
plt.figure()
plt.bar(X, Y)
for x, y in zip(X,Y):
# 描述位于x,y+0.1处,写的内容为y值得取2位小数,ha和va分别为水平和垂直对齐方式
plt.text(x,y+0.1,'%.2f'%y,ha='center',va='bottom')
plt.show()
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
ipone_list = [10, 20, 15, 40]
ipone_name_list = ['三星', '小米', '华为', '苹果']
plt.figure()
plt.pie(x=ipone_list, labels=ipone_name_list, autopct='%.1f%%') # x为数据,labels为名字,autopct为保留的小数
plt.show()