当前位置: 首页 > news >正文

数据可视化 - 单子图

 一、认识单子图

import matplotlib.pyplot as plt
import numpy as np
import pandas as pdplt.figure(num='单子图', figsize=(12, 8), facecolor='w')
# 中文字体
plt.rcParams['font.sans-serif'] = 'KaiTi'
# 负号显示
plt.rcParams['axes.unicode_minus'] = False# 2行,1列,第1个区域
plt.subplot(211)
x = np.arange(5)
y = np.array([1, 3, 5, 4, 8])
# 折线图
plt.plot(x, y, 'r--D', ms=5, mfc='r', mec='k')plt.title("折线图", fontsize='20')
plt.ylabel("温度", fontsize='14')
plt.xticks(x, ['1月', '2月', '3月', '4月', '5月'])
# 添加数据标签
for a, b in zip(x, y):plt.text(a, b+0.5, '%d' % b, ha='center', va='center')
plt.legend(['茂名市', ])bar_width=0.3
plt.subplot(212)
# 柱形图
plt.bar(x, y, width=bar_width)
plt.title("柱形图", fontsize='20')
plt.ylabel("温度",fontsize='14')
plt.xticks(x, ['1月', '2月', '3月', '4月', '5月'])
for a,b in zip(x,y):plt.text(a,b+0.1,'%d'%b,ha='center',fontsize=8)
plt.legend(['茂名市', ])# 自动调整适合布局
plt.tight_layout()
plt.show()

二、折线图和饼图

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import matplotlib.style as msplt.figure(num='子图', figsize=(12, 9), facecolor='w')
plt.rcParams['font.sans-serif'] = 'KaiTi'
plt.rcParams['axes.unicode_minus'] = Falsex = np.arange(1, 13)
# x=np.array([x for x in range(1,13)])y1 = np.array([20, 28, 23, 16, 29, 36, 39, 33, 31, 19, 21, 25])
y2 = np.array([17, 22, 39, 26, 35, 23, 25, 27, 29, 38, 20, 20])
labels = []
for i in range(1, 13):labels.append(str(i) + '月')ax1 = plt.subplot(211)
ax1.set_facecolor('w')
ax1.plot(x, y1, 'm--o', linewidth=2, ms=5)
ax1.plot(x, y2, 'g--*', lw=2, ms=5)ax1.set_title('产品A与产品B的销售额趋势', fontsize='20')
ax1.set_ylabel('销售额(亿元)', fontsize='16')
ax1.set_xticks(x, labels)
ax1.set_xlabel('月份', fontsize='16')for a,b in zip(x,y1):ax1.text(a,b+0.5,'%d' %b,ha='center')
for a,b in zip(x,y2):ax1.text(a,b+0.5,'%d' %b,ha='center')ax1.legend(['产品A', '产品B', ])# 下面的饼图
ax2 = plt.subplot(223)
# 饼图是逆时针画的,两个%%显示一个%
# labels:每一个饼图的标签
# autopct:饼内显示的百分比
# explode:每一个脱离圆心的值
# pctdistance:饼图内数据标签对圆心的距离,默认0.6
# shadow=True:给饼图给阴影
# labeldistance:标签对圆心的距离,默认 1.1
# startangle:从多少度逆时针去画图;startangle=90,从90度开始画,默认0度
# radius:饼图的半径大小,默认1.2
# wedgeprops:饼图变圆环(0.7),linewidth:边长大小,edgecolor:边的颜色
# textprops:调标签文本,fontsize:字体大小,fontfamily:字体样式,color:字体颜色
# frame=True:显示图框
ax2.pie(y1,radius=1.2,autopct='%3.1f%%', pctdistance = 0.7,wedgeprops={'width':0.7}, labels=labels)
ax2.set_title('产品A的销售额',y=1.05, pad=10)ax2 = plt.subplot(224)
ax2.pie(y2,radius=1.2,autopct='%3.1f%%', pctdistance = 0.7,wedgeprops={'width':0.7}, labels=labels)
ax2.set_title('产品B的销售额',y=1.05, pad=10)plt.tight_layout()
plt.show()

三、饼图和堆积图

import matplotlib.pyplot as plt
import numpy as np
import pandas as pdplt.figure(num='多子图', figsize=(12, 9), facecolor='w')
plt.rcParams['font.sans-serif'] = 'KaiTi'
plt.rcParams['axes.unicode_minus'] = Falsex = np.arange(1, 13)y1 = np.array([20, 28, 23, 16, 29, 36, 39, 33, 31, 19, 21, 25])
y2 = np.array([17, 22, 39, 26, 35, 23, 25, 27, 29, 38, 20, 20])
labels = []
for i in range(1, 13):labels.append(str(i) + '月')ax1 = plt.subplot(212)
# ax1.set_facecolor('grey')
# stack:堆积
ax1.stackplot(x,y1,y2)
ax1.set_ylim(0,80)ax1.set_title('产品A与产品B的销售额趋势', fontsize='20')
ax1.set_ylabel('销售额(亿元)', fontsize='16')
ax1.set_xticks(x, labels)
ax1.set_xlabel('月份', fontsize='16')
ax1.set_ylim(0,100)ax1.legend(['产品A', '产品B', ])ax2 = plt.subplot(221)
ax2.pie(y1,radius=1.2,autopct='%3.1f%%', pctdistance = 0.7,wedgeprops={'width':0.7}, labels=labels)
ax2.set_title('产品A的销售额',y=1.05, pad=10)ax2 = plt.subplot(222)
ax2.pie(y2,radius=1.2,autopct='%3.1f%%', pctdistance = 0.7,wedgeprops={'width':0.7}, labels=labels)
ax2.set_title('产品B的销售额',y=1.05, pad=10)plt.tight_layout()
plt.show()

http://www.lryc.cn/news/576932.html

相关文章:

  • LeetCode 第80题 删除有序数组中的重复项Ⅱ
  • 【如何实现分布式压测中间件】
  • Conda 环境配置之 -- Mamba安装(causal-conv1d、mamba_ssm 最简单配置方法)-- 不需要重新配置CDUA
  • MCPA2APPT 智能化演示文稿系统:A2A、MCP、ADK 三大架构全流程自动化
  • stm32之普通定时器
  • 左神算法之Zigzag方式打印矩阵
  • 飞云翻倍布林(翻倍密码系统四线布林版)双安全系统+均价趋势指标+日线周线MACD,组合操盘技术图文分享
  • H3C-路由器DHCPV6V4配置标准
  • 群晖nas安装moodle跳坑记录
  • 【更新至2024年】1996-2024年各省农村居民人均消费支出数据(无缺失)
  • 第十二节:Vben Admin 最新 v5.0 (vben5) 快速入门 - 两种权限控制方式(附前后端代码)
  • 对象的finalization机制Test
  • 智慧水务:未来城市水务管理的创新实践与科技飞跃
  • 【科技核心期刊推荐】《计算机与现代化》
  • 学习使用dotnet-dump工具分析.net内存转储文件(3)
  • Java 数据结构 泛型
  • ListExtension 扩展方法增加 转DataTable()方法
  • 常用指令合集(DOS/Linux/git/Maven等)
  • BP-Tools21.02下载 加解密利器 金融安全交易算法工具 PCI认证工具 金融和智能卡的数据加解密和数据转换工具
  • RabbitMQ中,basicAck、basicNack和basicReject是三种核心的消息确认机制
  • 左神算法之矩阵旋转90度
  • 浮油 - 3 相分层和自由表面流 CFX 模拟
  • github上传代码步骤(http)
  • Docker安装的gitlab配置ssl证书
  • 电力协议处理框架C++版(一)
  • ECMAScript 2019(ES2019):数组与对象操作的精细化升级
  • 【linux】权限深入解析
  • Cursor 教程:用 Cursor 创建第一个 Java 项目
  • Mac homebrew 安装教程
  • 【数据集处理】基于 3D-GloBFP建筑轮廓数据 栅格化建筑数据(完整Python代码)