python怎么使用Matplotlib绘制多种常见图形
作者
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绘制多种常见图形”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注恰卡编程网行业资讯频道。
目录
推荐阅读
-
Python 3.12 新特性解析:模式匹配增强与性能优化实战
-
Lightly IDE 深度评测:轻量级 Python 开发工具是否适合团队协作?
-
VS Code 自定义配置:JSON 文件修改、代码片段与任务自动化脚本
-
Python 虚拟环境选择:venv、conda、poetry 的适用场景对比
-
PyCharm+GitHub Copilot:Python 开发中 AI 辅助编码的最佳实践
-
PyCharm 无法识别虚拟环境?5 步排查 Python 解释器配置问题
-
数据科学工具链:Jupyter Notebook+RStudio+Python 的协同工作流
-
Python 3.12 新特性:模式匹配增强与性能改进实战
-
Lightly IDE 适合谁?轻量级 Python 开发工具深度评测
-
Python IDE 终极对比:PyCharm vs VS Code vs Jupyter Notebook