python怎么使用Matplotlib绘制多种常见图形
发表于:2025-02-21 作者:千家信息网编辑
千家信息网最后更新 2025年02月21日,今天小编给大家分享一下python怎么使用Matplotlib绘制多种常见图形的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文
千家信息网最后更新 2025年02月21日python怎么使用Matplotlib绘制多种常见图形
今天小编给大家分享一下python怎么使用Matplotlib绘制多种常见图形的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
import numpy as np import matplotlib.pyplot as plt%matplotlib inline #写了这个就可以不用写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("Hello World!!")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("Figure 2")plt.legend() # 添加文字描述 方法一W = [0.00,0.25,0.50]for i in range(3): for a,b in zip(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
%pylab inlinepylab.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('bars with legend')ax1.hist(x, n_bins, normed=1, histtype='bar', stacked=True)ax1.set_title('stacked bar')ax2.hist(x, n_bins, histtype='step', stacked=True, fill=False)ax2.set_title('stack step (unfilled)')# Make a multiple-histogram of data-sets with different length.x_multi = [np.random.randn(n) for n in [10000, 5000, 2000]]ax3.hist(x_multi, n_bins, histtype='bar')ax3.set_title('different sample sizes')
使用Pandas 绘图
import pandas as pddf = 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绘制多种常见图形"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
柱状
知识
篇文章
图形
数据
文字
多种
常见
位置
内容
多个
大小
方法
水平
直方图
线图
颜色
调整
不同
很大
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
增强网络安全意识的好处
服务器同时连接内外网安全
网络安全信息可以从哪些来源获取
数据库方式是什么原因是
闲置路由器组建打印服务器
惠普服务器boot界面恢复c盘
如何更方便的管理服务器
怎样采集远程数据库
软件开发工程师的工作经验
我的世界服务器手机端电脑端互通
海康软件开发福利
云服务器远程桌面手机
网络安全事故发生原因
网络安全活动文案
四川省网络安全监督唐鹏
聊城软件开发有哪些公司
关于软件开发的合同纠纷
常州工业网络技术
加强网络安全检查通知
数据库物理结构信息表
职称论文哪个数据库收录合法
航天科技下属互联网研究院
服务器一直需要开机吗
中专网络技术专业介绍
个人如何报考网络安全员证
服务器机房专用空调
数据库应用技术用几位安装包
倡议中学生注意网络安全
软件开发流程五个流程
工程设计数据库用什么