import matplotlib.pyplot as plt
import numpy as np
#import seaborn
#seaborn.xkcd_rgb
#https://blog.csdn.net/qq_44704609/article/details/90342736
x=np.linspace(0.05,10,1000)
y=np.sin(x)
plt.plot(x,y)
plt.plot(y,'k')
fmt = [color][marker][linestyle]
b = blue
g = green
x = np.linspace(1,10,10)
y=x**2
#plt.plot(x,y,color = 'b',marker = '*',linestyle = '--')
plt.plot(x,y,'b*')
x = np.linspace(0,10,10)
y=np.cos(x)
plt.plot(x,y,'b*-',linewidth = 10 , alpha = 0.3 , drawstyle = 'steps')
plt.title()
plt.xlim()#x轴显示范围
plt.ylim()
plt.xtable()#x轴名称
plt.ytable()
plt.grid()#坐标网络线
plt.rcParams[‘font.sans-serif’] = [‘SimHei’] 正常显示中文标签
plt.rcParams[‘axes.unicode_minus’] = False 正常显示负号
plt.plot(x,y,'r*-',linewidth =10,alpha = 0.3)
plt.title('我的matlab图')
plt.xlim(2,6)
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.grid(ls = ':',c = 'b')
x = np.linspace(0,10,10)
y=np.cos(x)
plt.plot(x,y,'b*-',linewidth = 10 , alpha = 0.3 , drawstyle = 'steps')
plt.axhline(0.25)
plt.axvline(6)
plt.axhspan(-0.25,0.25,facecolor='y',alpha=0.6)
plt.axvspan(2,4,alpha=0.6)
plt.legend()#不同图形的文本标签图例
plt.xticks()#设置标签名称
plt.test()#添加图形内容细节的无指向性注释文本
plt.annotate()#添加图形内容
x = np.linspace(0,10,10)
y=np.cos(x)
plt.plot(x,y,'y*-',linewidth = 1 , alpha = 0.3 , drawstyle = 'steps',label='first')
plt.title('mmmm')
plt.xlim(2,6)
plt.xlabel('x')
plt.ylabel('y')
plt.grid(ls=':',c='b')
plt.axhline(0.25)
plt.axvline(6)
plt.axhspan(-0.25,0.25,facecolor='y',alpha=0.6)
plt.axvspan(2,4,alpha=0.6)
plt.legend(loc='upper right')
plt.text(4.0,0.25,'y=cos(x)',weight='bold',color='b')
plt.annotate("最大值",xy=(0,1),xytext=(4.5,0.75),arrowprops = dict(arrowstyle='->'))
plt.ytick([],[])
plt.boxplot 箱线图
plt.errorbar 误差棒图
plt.bar 柱状图
plt.barh 条形图
plt.hist 直方图
plt.pie 饼图
plt.polar 极线图
plt.scatter 散点图或气泡图
plt.stem 棉棒图
plt.title('我的matlab图')
x = np.linspace(-10,10,100)
y=np.sin(x)
plt.plot(x,y,marker='o',linestyle='--')
plt.grid()
plt.annotate(xy=(-5,0),xytest=(-1,0.25),arrowprops=dict(arrowstyle='->'))
plt.gcf()
plt.gca()
当前图表和子表可以用plt.gcf() plt.gca()获得 分别表示get current figure 和get current axes 在pyplot模块中 许多函数都是对当前的
figue和axes对象进行处理 比如说plt.plot()实际上会通过plt.gca获取当前的axes对象ax 在调用plt.plot实例
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei'] 正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False 正常显示负号
x=np.linspace(-10,10,1000)
y=np.sin(x)
plt.plot(x,y)
ax=plt.gca()
ax.spines["right"].set_color('none')#none 可以消除线
ax.spines["left"].set_color('black')
ax.spines["top"].set_color('none')
ax.spines["bottom"].set_color('black')
把x轴的刻度设置为‘bottom’
把y轴的刻度设置为‘left’
ax.xaxis.set_ticks_position(‘bottom’)
ax.yaxis.set_ticks_position(‘left’)
设置bottom对应到0点
设置left对应到0点
ax.spines[‘bottom’].set_position((‘data’,0))
ax.spines[‘left’].set_position((‘data’,0))
plt.figure()#创建figure对象
figure对象是后续绘图操作的总容器
不创建 plot会自动创建
创建可以进行精细设定
x=np.linspace(-10,10,1000)
plt.figure(1)
y=np.sin(x)
plt.plot(x,y)
plt.figure(1)
y=np.cos(x)
plt.plot(x,y)
plt.figure('apple',dpi=100)
plt.figure('apple',facecolor='g',edgecolor='red')
y=np.sin(x)
plt.plot(x,y)
plt.savefig(r"C:\Users\沈奕阳\sss.jpg")
柱状图
x=np.arange(10)
data=np.random.randint(1,11,10)
data
plt.bar(x,data,width = 0.5,lw=5,facecolor="red",edgecolor="gold",hatch='..')#width:宽度
plt.show
条形图
x=np.arange(10)
data=np.random.randint(1,11,10)
data
plt.barh(x,data,label='bar')
plt.legend(loc=1)
plt.show
多序列条形图
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
index=np.arange(5)
data1=[3,4,6,8,9]
data2=[11,23,6,5,1]
data3=[12,6,21,8,26]
a=0.3
plt.bar(index,data1,a,color='r',label='a')
plt.bar(index+a,data2,a,color='b',label='b')
plt.bar(index+a+a,data3,a,color='g',label='c')
plt.legend(loc=2)
plt.show
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
index=np.arange(5)
data1=[3,4,6,8,9]
data2=[11,23,6,5,1]
data3=[12,6,21,8,26]
a=0.3
plt.barh(index,data1,a,color='r',label='a')
plt.barh(index+a,data2,a,color='b',label='b')
plt.barh(index+a+a,data3,a,color='g',label='c')
plt.legend(loc=2)
plt.show
堆叠型
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
index=np.arange(5)
data1=np.array([3,4,6,8,9])
data2=np.array([11,23,6,5,1])
data3=np.array([12,6,21,8,26])
plt.bar(index,data1,color='r',label='a')
plt.bar(index,data2,bottom=data1,color='b',label='b')
plt.bar(index,data3,bottom=data1+data2,color='g',label='c')
plt.legend(loc=2)
plt.show()