赞
踩
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1,1,50)
y = 2*x+1
z = x**2
plt.plot(x,y)# 坐标轴,画成线
plt.plot(x,z)
plt.show()
(两条不同的曲线画在同一张图里了~)
分别画在两张图上
plt.figure()
plt.plot(x,y)# 坐标轴,画成线
plt.figure()
plt.plot(x,z)
plt.show()
# 设置参数
plt.figure(num=3,figsize=(8,5))
plt.plot(x,y,color='red',linewidth=1.0,linestyle='--')# 线的颜色,宽度,虚线/实线
import matplotlib.pyplot as plt import numpy as np x = np.linspace(-3,3,50) y = 2*x+1 z = x**2 plt.figure() plt.plot(x,z) plt.plot(x,y,color='red',linewidth=1.0,linestyle='--')# 线的颜色,宽度,虚线/实线 plt.figure() # 设置坐标轴标签 plt.xlabel('i am x') plt.ylabel('i am y') # 修改坐标轴的步长 new_ticks = np.linspace(-1,2,5) print(new_ticks) plt.xticks(new_ticks) plt.yticks([-2,-1.8,-1,1.22,3],['really bad','bad','soso','good','pretty good']) # 修改坐标轴的位置 # gca = 'get current axis' ax = plt.gca() ax.spines['right'].set_color('none')# 把上右脊梁设置成空 ax.spines['top'].set_color('none') ax.xaxis.set_ticks_position('bottom') ax.yaxis.set_ticks_position('left') ax.spines['bottom'].set_position(('data',-1))# 将x放在Y的-1位置 ax.spines['left'].set_position(('data',0)) #将y放在x的0位置 # 在图片上打印描述【图例】 plt.plot(x,z,label='up') plt.plot(x,y,color='red',linewidth=1.0,linestyle='--',label='down') plt.legend() l1, =plt.plot(x,z,label='up') # 有返回值 l2,= plt.plot(x,y,color='red',linewidth=1.0,linestyle='--',label='down') plt.legend(handles=[l1,l2,],labels=['aaa','bb',],loc='best') plt.show()
import matplotlib.pyplot as plt import numpy as np x = np.linspace(-3,3,50) y = 2*x+1 plt.figure(num=1,figsize=(8,5),) plt.plot(x,y,) ax = plt.gca() ax.spines['right'].set_color('none')# 把上右脊梁设置成空 ax.spines['top'].set_color('none') ax.spines['top'].set_color('none') ax.xaxis.set_ticks_position('bottom') ax.spines['bottom'].set_position(('data',0))# 将x放在Y的-1位置 ax.yaxis.set_ticks_position('left') ax.spines['left'].set_position(('data',0)) #将y放在x的0位置 # 添加一个点 x0 = 1 y0 = 2*x0+1 plt.scatter(x0,y0,s=50,color='b') plt.plot([x0,x0],[y0,0],'k--',lw=2.5) # 添加注释的方法,参数需要参考文档 # method 1 plt.annotate(r'$2x+1%s$'%y0,xy=(x0,y0),xycoords='data',xytext=(+30,-30),textcoords='offset points', fontsize=16,arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2')) # method 2 plt.text(-3.7,3,r'$This\ is\ the\ text.\ \mu\ \sigma_i\ \alpha_t$', fontdict={'size':16,'color':'r'}) plt.show() plt.show()
import matplotlib.pyplot as plt
import numpy as np
n =1024
X = np.random.normal(0,1,n)
Y = np.random.normal(0,1,n)
T = np.arctan2(Y,X) #for color value
plt.scatter(np.arange(5),np.arange(5))# 普通散点图
plt.scatter(X,Y,s=75,c=T,alpha=0.5) # 好看散点图
# 隐藏x,y轴
plt.xticks(())
plt.yticks(())
plt.show()
import matplotlib.pyplot as plt import numpy as np n = 12 X = np.arange(n) Y1 = (1-X/float(n))*np.random.uniform(0.5,1.0,n) Y2 = (1-X/float(n))*np.random.uniform(0.5,1.0,n) plt.bar(X,+Y1,facecolor='#9999ff',edgecolor='white') plt.bar(X,-Y2,facecolor='#ff9999',edgecolor='white') # 在柱状图上标注数字 for x,y in zip(X,Y1): #ha:horizontal alignment plt.text(x+0.02,y+0.005,'%.2f'%y,ha='center',va='bottom') for x,y in zip(X,Y2): #ha:horizontal alignment plt.text(x+0.02,-y-0.005,'-%.2f'%y,ha='center',va='top') # 隐藏x,y轴 plt.xticks(()) plt.yticks(()) plt.show()
import matplotlib.pyplot as plt import numpy as np def f(x,y): # the height function return (1-x/2+x**5+y**3) * np.exp(-x**2-y**2) # 画出外边框与坐标轴 n = 256 x = np.linspace(-3,3,n) y = np.linspace(-3,3,n) X,Y =np.meshgrid(x,y) # 设置背景颜色与透明度,数字部分代表画出多少条等高线 plt.contourf(X,Y,f(X,Y),8,alpha=0.75,cmap=plt.cm.hot) # 画出等高线 C = plt.contour(X,Y,f(X,Y),8,colors ='black',linewidth=.5) # add lable plt.clabel(C,inline=False,fontsize=10) plt.xticks(()) plt.yticks(()) plt.show()
import matplotlib.pyplot as plt
import numpy as np
plt.figure()
plt.subplot(2,2,1) # 将整个画布分成2行2列,并在第一个位置上绘制
plt.plot([0,1],[0,1])
plt.subplot(2,2,2) # 将整个画布分成2行2列,并在第2个位置上绘制
plt.plot([0,1],[0,2])
plt.subplot(2,2,3) # 将整个画布分成2行2列,并在第3个位置上绘制
plt.plot([0,1],[0,3])
plt.subplot(2,2,4) # 将整个画布分成2行2列,并在第4个位置上绘制
plt.plot([0,1],[0,4])
plt.show()
import matplotlib.pyplot as plt
import numpy as np
plt.figure()
plt.subplot(2,1,1) # 将整个画布分成2行2列,并在第一个位置上绘制
plt.plot([0,1],[0,1])
plt.subplot(2,3,4) # 将整个画布分成2行2列,并在第2个位置上绘制
plt.plot([0,1],[0,2])
plt.subplot(2,3,5) # 将整个画布分成2行2列,并在第3个位置上绘制
plt.plot([0,1],[0,3])
plt.subplot(2,3,6) # 将整个画布分成2行2列,并在第4个位置上绘制
plt.plot([0,1],[0,4])
plt.show()
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0,10,0.1)
y1 = 0.05*x**2
y2 = -1*y1
fig, ax1 = plt.subplots()
ax2 = ax1.twinx() # 镜面设置x轴
ax1.plot(x,y1,'g-')
ax2.plot(x,y2,'b--')
ax1.set_xlabel('X data')
ax1.set_ylabel('Y1',color='g')
ax2.set_ylabel('Y2',color='b')
plt.show()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。