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安全错误
数据库的锁怎样保障安全
服务器配置高但没有网络
枣庄安卓软件开发哪家靠谱
魔兽服务器选择推荐
数据库怎么改成自动
用包安装服务器
股票软件开发怎么做
群众对于网络安全的
宝塔服务器管理网页打不开
数据库数据丢失应付措施
中智软件开发有限公司股东
万灵启源有哪些服务器
郑州好的软件开发公司
北京餐饮软件开发咨询客服
网络安全存在哪些危险
服务器存储有哪些类型
心魔sp家庭系列中文数据库
海南数字人民币软件开发
双色球购买号码数据库
斋月期间网络安全方案
上海网络安全等级保护评测
网络安全研究生读什么
怎么用笔记本直接连接服务器
网络安全设备viso图例
伊川软件开发报价
高昌盛 网络安全
青芷柠源神奇宝贝服务器地址
滕州打卡软件开发
关闭ole服务器
深圳智能照明软件开发中心
地质灾害数据库