python怎么使用Matplotlib绘制多种常见图形
发表于:2025-02-19 作者:千家信息网编辑
千家信息网最后更新 2025年02月19日,今天小编给大家分享一下python怎么使用Matplotlib绘制多种常见图形的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文
千家信息网最后更新 2025年02月19日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安全错误
数据库的锁怎样保障安全
一个服务器不同域名不同页面
软件中的数据库经常断开
办公物理环境网络安全剖析
亳州市网络安全和信息化工作会议
华为服务器管理口在哪
保证网络安全的意义
南通idc服务器租用
软件开发质保期如何描述
mc开服务器和联机的区别
服务器怎么发送网页
数据库实验环境是什么
xx局网络安全宣传活动
苏州濯宽互联网科技有限公司
联想服务器设置通电开机
上海迈腾网络技术有限公司
云南小粒咖啡数据库
软件开发进度保障
关于业务的数据库设计
备案腾讯云阿里云 多个服务器
中国互联网科技产品
立善网络技术有限公司怎么样
域服务器 分级管理
网络安全和网络舆情问题
请列举几种关系数据库
网络安全标准体系
广东智能零件加工管理软件开发
家用nas存储服务器
静安区海航软件开发质量保障
铁路公安 网络安全部
redis查看当前数据库