python中matplotlib 的简单使用
1、简单折线图的画图,轴标签、图的颜色,风格,等等参数,本文只介绍最常用的几个参数:
1 import matplotlib.pyplot as plt 2 import numpy as np 3 4 x = np.linspace(-3,3,50) 5 y1 = 2 * x + 1 6 y2 = x ** 2 7 8 plt.figure() # figure 下面的图形都出现再这个figure中 9 plt.plot(x,y2,label = 'up') #label 为该图像的图例 10 plt.plot(x,y1,color = 'red',linewidth = 1.0,linestyle = '--',label = 'down') 11 plt.xlim((-1,2)) # 对x轴的范围限制 12 plt.ylim((-2,3)) 13 plt.xlabel('I am X') # x轴的标签 14 plt.ylabel('I am Y') 15 16 # 边框删除 17 ax = plt.gca() # gca: get current axis 18 ax.spines['right'].set_color('none') # 获取当前位置的边框,进行设置 19 ax.spines['top'].set_color('none') 20 21 # 坐标轴(边框)移动 22 ax.xaxis.set_ticks_position('bottom') 23 ax.yaxis.set_ticks_position('left') 24 ax.spines['bottom'].set_position(('data',0)) # 底部移动到 0 25 ax.spines['left'].set_position(('data',0)) # 左边移动到 0 26 27 28 # 图例 29 plt.legend() # 打印出画图时加入的 label 参数 30 31 #注释 32 x0 = 1 33 y0 = 2 * x0 +1 34 plt.scatter(x0,y0,s = 50,color = 'b') # 找到要进行注释的一个坐标点 35 # plt.plot([x0,x0],[y0,0],'k--',linewidth = 2.5) # 画一条竖直线 36 37 # plt.annotate(r'$y=2x+1$',xy=(x0,y0),xycoords='data',xytext=(+30,-30),textcoords='offset points') 38 39 plt.text(-1,2,r'$This\ is\ \mu\ \sigma_i\ \alpha_t$', 40 fontdict={'size':16,'color':'r'}) # 数学符号前面加\转义符,显示数学符号 41 42 plt.show()
2、散点图
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) # 颜色 plt.scatter(X,Y,s=75,c=T,alpha=0.5) # alpha 表示透明度 plt.xlim((-1.5,1.5)) plt.ylim((-1.5,1.5)) plt.show()
3、柱状图
# 柱状图 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='b',edgecolor = 'red') plt.bar(X,-Y2) for x,y in zip(X,Y1): # 在柱状图上加上高度值 plt.text(x,y+0.05,'%.2f'%y,ha = 'center',va='bottom')#横向,纵向对齐方式 plt.show()
4、等高线
# 等高图 import matplotlib.pyplot as plt import numpy as np def f(x,y): # 计算点(x,y)处的高度 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) # use plt.contourf to filling contours # X,Y and value for (X,Y) point plt.contourf(X,Y,f(X,Y),8,alpha=0.75,cmap=plt.cm.hot)# 8 是分成几个高度 # use plt.contour to add contour lines contour:等高线 C = plt.contour(X,Y,f(X,Y),8,color='black',linewidth=0.5) # adding label plt.clabel(C,inline=True,fontsize=10) # 标签在线里面 plt.show()
所有博文均为原著,如若转载,请注明出处!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗