python怎么使用matplotlib绘制多种常见图形-亚博电竞手机版
开发技术
2022年05月19日 10:38
21
python怎么使用matplotlib绘制多种常见图形
今天小编给大家分享一下python怎么使用matplotlib绘制多种常见图形的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
importnumpyasnpimportmatplotlib.pyplotasplt%matplotlibinline#写了这个就可以不用写plt.show()plt.rcparams['font.sans-serif']=['simhei']#用来正常显示中文标签plt.rcparams['axes.unicode_minus']=false#用来正常显示负号x=np.linspace(0,2*np.pi,100)#均匀的划分数据y=np.sin(x)y1=np.cos(x)plt.title("helloworld!!")plt.plot(x,y)plt.plot(x,y1)
x=np.linspace(0,2*np.pi,100)y=np.sin(x)y1=np.cos(x)plt.subplot(211)#等价于subplot(2,1,1)#一个图版画两个图plt.plot(x,y)plt.subplot(212)plt.plot(x,y1,color='r')
柱状图
data=[5,25,50,20]plt.bar(range(len(data)),data)
水平绘制柱状图
data=[5,25,50,20]plt.barh(range(len(data)),data)
多个柱状图
data=[[5,25,50,20],[4,23,51,17],[6,22,52,19]]x=np.arange(4)plt.bar(x 0.00,data[0],color='b',width=0.25,label="a")plt.bar(x 0.25,data[1],color='g',width=0.25,label="b")plt.bar(x 0.50,data[2],color='r',width=0.25,label="c")#显示上面设置的lableplt.legend()
叠加型柱状图
data=[[5,25,50,20],[4,23,51,17],[6,22,52,19]]x=np.arange(4)plt.bar(x,data[0],color='b',width=0.25)plt.bar(x,data[1],color='g',width=0.25,bottom=data[0])plt.bar(x,data[2],color='r',width=0.25,bottom=np.array(data[0]) np.array(data[1]))plt.show()
散点图
n=50x=np.random.rand(n)y=np.random.rand(n)plt.scatter(x,y)
气泡图
n=50x=np.random.rand(n)y=np.random.rand(n)colors=np.random.randn(n)#颜色可以用数值表示area=np.pi*(15*np.random.rand(n))**2#调整大小plt.scatter(x,y,c=colors,alpha=0.5,s=area)
n=50x=np.random.rand(n)y=np.random.rand(n)colors=np.random.randint(0,2,size=50)plt.scatter(x,y,c=colors,alpha=0.5,s=area)
直方图
a=np.random.rand(100)plt.hist(a,bins=20)plt.ylim(0,15)
a=np.random.randn(10000)plt.hist(a,bins=50)plt.title("标准正太分布")
箱线图
x=np.random.randint(20,100,size=(30,3))plt.boxplot(x)plt.ylim(0,120)#在x轴的什么位置填一个label,我们这里制定在1,2,3位置,写上a,b,cplt.xticks([1,2,3],['a','b','c'])plt.hlines(y=np.median(x,axis=0)[0],xmin=0,xmax=3)
添加文字描述
#设置画布颜色为bluefig,ax=plt.subplots(facecolor='blue')#y轴数据data=[[5,25,50,20],[4,23,51,17],[6,22,52,19]]x=np.arange(4)plt.bar(x 0.00,data[0],color='darkorange',width=0.25,label='a')plt.bar(x 0.25,data[1],color='steelblue',width=0.25,label="b")plt.bar(x 0.50,data[2],color='violet',width=0.25,label='c')ax.set_title("figure2")plt.legend()#添加文字描述方法一w=[0.00,0.25,0.50]foriinrange(3):fora,binzip(x w[i],data[i]):plt.text(a,b,"%.0f"%b,ha="center",va="bottom")plt.xlabel("group")plt.ylabel("num")plt.text(0.0,48,"text")
添加文字描述 方法二
x=np.linspace(0,2*np.pi,100)#均匀的划分数据y=np.sin(x)y1=np.cos(x)plt.plot(x,y)plt.plot(x,y1)plt.annotate('points',xy=(1,np.sin(1)),xytext=(2,0.5),fontsize=16,arrowprops=dict(arrow))plt.title("这是一副测试图!")
多个图形描绘 subplots
%pylabinlinepylab.rcparams['figure.figsize']=(10,6)#调整图片大小#np.random.seed(19680801)n_bins=10x=np.random.randn(1000,3)fig,axes=plt.subplots(nrows=2,ncols=2)ax0,ax1,ax2,ax3=axes.flatten()colors=['red','tan','lime']ax0.hist(x,n_bins,normed=1,histtype='bar',color=colors,label=colors)ax0.legend(prop={'size':10})ax0.set_title('barswithlegend')ax1.hist(x,n_bins,normed=1,histtype='bar',stacked=true)ax1.set_title('stackedbar')ax2.hist(x,n_bins,histtype='step',stacked=true,fill=false)ax2.set_title('stackstep(unfilled)')#makeamultiple-histogramofdata-setswithdifferentlength.x_multi=[np.random.randn(n)fornin[10000,5000,2000]]ax3.hist(x_multi,n_bins,histtype='bar')ax3.set_title('differentsamplesizes')
使用pandas 绘图
importpandasaspddf=pd.dataframe(np.random.rand(50,2),columns=['a','b'])#散点图df.plot.scatter(x='a',y='b')
df=pd.dataframe(np.random.rand(10,4),columns=['a','b','c','d'])#绘制柱状图df.plot.bar()
#堆积的柱状图df.plot.bar(stacked=true)
#水平的柱状图df.plot.barh(stacked=true)
df=pd.dataframe({'a':np.random.randn(1000) 1,'b':np.random.randn(1000),'c':np.random.randn(1000)-1},columns=['a','b','c'])#直方图df.plot.hist(bins=20)
#箱线图df=pd.dataframe(np.random.rand(10,5),columns=['a','b','c','d','e'])df.plot.box()
以上就是“python怎么使用matplotlib绘制多种常见图形”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注恰卡编程网行业资讯频道。
展开全文