python怎么使用Matplotlib绘制多种常见图形
发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,今天小编给大家分享一下python怎么使用Matplotlib绘制多种常见图形的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文
千家信息网最后更新 2025年01月16日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安全错误
数据库的锁怎样保障安全
数据库所得税自动归零
网络安全知识大赛用户
金华数据网络技术哪家好
生动的网络安全故事昆明
数据库视图及其作用
数据库技术的高级技术掌握
湖北考拉云网络技术有限公司
数据库中截取小数点后两位
kms服务器地址有哪些
软件开发师和机械结构工程师
学嵌入式软件开发找什么公司
戴尔服务器自动设置密码
vba 连接数据库慢
mvc连接数据库
网络安全案例论文
沈阳软件开发定制怎么收费
数据库执行的查询过程
it网络技术专员招聘
数据库程序设计表的基本操作
仙桃软件开发
测试服务器环境
app软件开发验收方法
文件服务器吗
办公系统软件开发合同简版本
西电网络安全学院复试2o22
cass找不到属性数据库
网安大使网络安全意识
王者服务器炸了啥意思
四川省网络安全等级保护制度
企业软件开发有前途吗