数据可视化pyecharts——数据分析(柱状图、折线图、饼图)
安装
首先确保已经安装了pyecharts库,如果没有,可以通过pip install pyecharts进行安装。
柱状图
- 从
pyecharts.charts导入Bar,从pyecharts导入options。 - 准备数据(如类别数据
x_data和对应的数值数据y_data)。 - 创建
Bar对象,通过add_xaxis添加类别数据,add_yaxis添加数据系列,可设置系列名称。 - 可以使用
set_global_opts设置全局配置项,如标题等,最后使用render方法生成图表文件。
折线图
- 从
pyecharts.charts导入Line。 - 类似柱状图,准备数据后创建
Line对象,添加轴数据。 - 能设置线条样式、标记点等个性化配置,再通过全局配置项设置相关属性,最后渲染。
饼图
- 从
pyecharts.charts导入Pie。 - 准备数据(通常是数据和对应的标签)。
- 创建
Pie对象,通过add方法添加数据系列,可设置半径等参数。 - 同样可配置全局选项,如标题、图例等,完成后进行渲染。
通过这些步骤,可以利用 pyecharts 方便地实现柱状图展示数据对比、折线图展示数据趋势、饼图展示数据占比等数据可视化操作。
数据展示

| 2019 | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 | 2009 | 2008 | 2007 | 2006 | 2005 | 2004 | 2003 | 2002 | 2001 | 2000 | |
| 北京 | 5817.1 | 5785.9176 | 5430.7875 | 5081.26 | 4723.86 | 4027.1609 | 3661.1097 | 3314.934 | 3006.28 | 2353.9301 | 2026.8089 | 1837.3238 | 1492.638 | 1117.1514 | 919.2098 | 744.4874 | 592.5388 | 533.99 | 454.1676 | 344.9968 |
| 天津 | 2410.25 | 2106.2397 | 2310.3552 | 2723.5 | 2667.11 | 2390.3518 | 2079.0716 | 1760.0201 | 1455.13 | 1068.8093 | 821.9916 | 675.6186 | 540.439 | 417.0479 | 331.8507 | 246.18 | 204.5295 | 209.7021 | 163.635 | 133.6069 |
| 河北 | 3742.67 | 3513.8643 | 3233.8332 | 2849.87 | 2649.18 | 2446.6166 | 2295.6203 | 2084.2825 | 1737.77 | 1331.8547 | 1067.1231 | 947.5858 | 789.1198 | 620.534 | 515.7017 | 407.8273 | 335.8263 | 302.3068 | 283.5023 | 248.7621 |
| 山西 | 2347.56 | 2292.6982 | 1867.0022 | 1557 | 1642.35 | 1820.635 | 1701.6227 | 1516.378 | 1213.43 | 969.6652 | 805.8279 | 748.0047 | 597.887 | 583.3752 | 368.3437 | 256.3634 | 186.0547 | 150.8245 | 132.7618 | 114.4762 |
| 内蒙古 | 2059.74 | 1857.6493 | 1703.2095 | 2016.43 | 1964.48 | 1843.6736 | 1720.9843 | 1552.7453 | 1356.67 | 1069.9776 | 850.8588 | 650.6764 | 492.3615 | 343.3774 | 277.4553 | 196.7589 | 138.7157 | 112.8546 | 99.4313 | 95.032 |
| 辽宁 | 2651.96 | 2616.0832 | 2392.7653 | 2200.49 | 2127.39 | 3192.7813 | 3343.8106 | 3105.3785 | 2643.15 | 2004.8352 | 1591.2197 | 1356.0812 | 1082.6948 | 817.6718 | 675.2768 | 529.6405 | 447.049 | 399.6888 | 370.4387 | 295.6274 |
| 吉林 | 1116.86 | 1240.8892 | 1210.9081 | 1263.78 | 1229.35 | 1203.3843 | 1156.9616 | 1041.2514 | 850.1 | 602.4092 | 487.0943 | 422.7961 | 320.6892 | 245.2045 | 207.152 | 166.2807 | 154.0033 | 131.4885 | 121.1015 | 103.8267 |
| 黑龙江 | 1262.64 | 1282.595 | 1243.3118 | 1148.41 | 1165.88 | 1301.312 | 1277.3951 | 1163.1708 | 997.55 | 755.5788 | 641.6627 | 578.2773 | 440.4689 | 386.844 | 318.2056 | 289.42 | 248.8643 | 231.8908 | 213.6398 | 185.3379 |
| 上海 | 7165.1 | 7108.148 | 6642.2638 | 6406.13 | 5519.5 | 4585.5534 | 4109.5086 | 3743.7053 | 3429.83 | 2873.584 | 2540.2975 | 2358.7464 | 2074.4792 | 1576.0742 | 1417.3976 | 1106.1932 | 886.2277 | 719.79 | 609.4719 | 485.3777 |
| 江苏 | 8802.36 | 8630.1605 | 8171.5315 | 8121.23 | 8028.59 | 7233.1426 | 6568.464 | 5860.6884 | 5148.91 | 4079.8595 | 3228.78 | 2731.4074 | 2237.7276 | 1656.682 | 1322.6753 | 980.4939 | 798.1065 | 643.6966 | 572.1473 | 448.3097 |
| 浙江 | 7048 | 6598.212 | 5804.3837 | 5301.98 | 4809.94 | 4122.0211 | 3796.9241 | 3441.2267 | 3150.8 | 2608.4655 | 2142.5131 | 1933.389 | 1649.4981 | 1298.2044 | 1066.5964 | 805.9479 | 706.5607 | 566.8522 | 500.6948 | 342.7745 |
| 安徽 | 3182.54 | 3048.6705 | 2812.4495 | 2672.79 | 2454.3 | 2218.4418 | 2075.075 | 1792.7192 | 1463.56 | 1149.3952 | 863.9175 | 724.6197 | 543.6973 | 428.0265 | 334.017 | 274.6284 | 220.7487 | 200.2154 | 192.1813 | 178.7187 |
| 福建 | 3052.72 | 3007.4087 | 2809.0332 | 2654.83 | 2544.24 | 2362.2138 | 2119.4455 | 1776.1728 | 1501.51 | 1151.4923 | 932.4282 | 833.4032 | 699.4577 | 541.1707 | 432.6003 | 333.523 | 304.7095 | 272.8867 | 274.2846 | 234.1061 |
| 江西 | 2486.51 | 2373.008 | 2247.0624 | 2151.47 | 2165.74 | 1881.8315 | 1621.2358 | 1371.994 | 1053.43 | 778.0922 | 581.3012 | 488.6476 | 389.851 | 305.5214 | 252.9236 | 205.7667 | 168.167 | 140.5457 | 131.979 | 111.5536 |
| 山东 | 6526.64 | 6485.3959 | 6098.6324 | 5860.18 | 5529.33 | 5026.8273 | 4559.9463 | 4059.4301 | 3455.93 | 2749.3842 | 2198.6324 | 1957.0541 | 1675.398 | 1356.2526 | 1073.125 | 828.3306 | 713.7877 | 610.2242 | 573.1793 | 463.6788 |
| 河南 | 4041.6 | 3766.0183 | 3407.2187 | 3153.47 | 3016.05 | 2739.2556 | 2415.4482 | 2040.331 | 1721.76 | 1381.3178 | 1126.0638 | 1008.9009 | 862.0804 | 679.1715 | 537.6514 | 428.7799 | 338.0535 | 296.7179 | 267.7459 | 246.4694 |
| 湖北 | 3388.39 | 3307.0782 | 3248.3159 | 3102.06 | 3005.53 | 2566.8953 | 2191.2221 | 1823.0532 | 1526.91 | 1011.2314 | 814.8653 | 710.8492 | 590.3552 | 476.0823 | 375.5217 | 310.4464 | 259.7636 | 243.4403 | 231.941 | 214.345 |
| 湖南 | 3006.99 | 2860.8443 | 2757.8212 | 2697.88 | 2515.43 | 2262.7859 | 2030.8758 | 1782.156 | 1517.07 | 1081.6901 | 847.6178 | 722.7122 | 606.5508 | 477.9274 | 395.2651 | 320.6279 | 268.6469 | 231.1459 | 205.4078 | 177.0403 |
| 广东 | 12651.46 | 12105.2552 | 11320.3497 | 10390.35 | 9366.78 | 8065.0758 | 7081.4655 | 6229.1804 | 5514.84 | 4517.0445 | 3649.811 | 3310.3235 | 2785.8007 | 2179.4608 | 1807.2044 | 1418.5056 | 1315.5151 | 1201.6126 | 1160.5126 | 910.556 |
| 广西 | 1811.89 | 1681.4466 | 1615.1273 | 1556.27 | 1515.16 | 1422.2803 | 1317.6035 | 1166.0614 | 947.72 | 771.9918 | 620.9888 | 518.4245 | 418.8265 | 342.5788 | 283.0359 | 237.7721 | 203.6578 | 186.732 | 178.6706 | 147.0539 |
| 海南 | 814.13 | 752.6673 | 674.105 | 637.51 | 627.7 | 555.3064 | 481.014 | 409.437 | 340.12 | 270.9915 | 178.242 | 144.8584 | 108.2935 | 81.8139 | 68.6802 | 57.0358 | 51.3205 | 46.2385 | 43.7656 | 39.1995 |
| 重庆 | 2134.88 | 2265.5421 | 2252.3788 | 2227.91 | 2154.83 | 1922.0159 | 1693.2438 | 1703.4885 | 1488.33 | 952.0745 | 655.1701 | 577.5738 | 442.7 | 317.7165 | 256.8072 | 200.6241 | 161.5618 | 157.8651 | 106.1243 | 87.2442 |
| 四川 | 4070.69 | 3911.0092 | 3577.9887 | 3388.85 | 3355.44 | 3061.0684 | 2784.0952 | 2421.2703 | 2044.79 | 1561.6727 | 1174.5927 | 1041.6603 | 850.8606 | 607.585 | 479.6635 | 385.7848 | 336.5917 | 291.8746 | 271.1245 | 233.863 |
| 贵州 | 1767.36 | 1726.8516 | 1613.8377 | 1561.34 | 1503.38 | 1366.6731 | 1206.4146 | 1014.0547 | 773.08 | 533.7309 | 416.4761 | 347.8416 | 285.1375 | 226.8157 | 182.4963 | 149.2855 | 124.5552 | 108.28 | 99.7494 | 85.2324 |
| 云南 | 2073.53 | 1994.3458 | 1886.1687 | 1812.29 | 1808.1 | 1698.0574 | 1611.2955 | 1338.1509 | 1111.16 | 871.1875 | 698.2525 | 614.0518 | 486.7146 | 379.9702 | 312.649 | 263.3618 | 228.9992 | 206.7594 | 191.2799 | 180.745 |
| 西藏 | 222 | 230.3543 | 185.8341 | 155.99 | 137.13 | 124.2708 | 95.0237 | 86.5827 | 54.76 | 36.6473 | 30.0894 | 24.8823 | 20.1412 | 14.5607 | 12.0312 | 10.0188 | 8.1499 | 7.3082 | 6.1108 | 5.3848 |
| 陕西 | 2287.73 | 2243.1391 | 2006.6939 | 1833.99 | 2059.95 | 1890.4044 | 1748.3305 | 1600.6862 | 1500.18 | 958.2065 | 735.2704 | 591.475 | 475.2398 | 362.4805 | 275.3183 | 214.9586 | 177.33 | 150.2934 | 135.8109 | 114.9711 |
| 甘肃 | 850.23 | 871.0537 | 815.7323 | 786.97 | 743.86 | 672.6698 | 607.2717 | 520.3993 | 450.12 | 353.5833 | 286.5898 | 264.965 | 190.9107 | 141.2152 | 123.5026 | 104.16 | 87.6561 | 76.2432 | 69.9485 | 61.2849 |
| 青海 | 282.14 | 272.887 | 246.1961 | 238.51 | 267.13 | 251.6759 | 223.8586 | 186.4165 | 151.81 | 110.2153 | 87.7381 | 71.5692 | 56.7083 | 42.2437 | 33.8222 | 26.996 | 24.0411 | 21.0965 | 19.8241 | 16.5843 |
| 宁夏 | 423.55 | 436.5205 | 417.5888 | 387.66 | 373.4 | 339.8627 | 308.3376 | 263.9569 | 219.98 | 153.5507 | 111.5755 | 95.009 | 80.0312 | 61.357 | 47.7216 | 37.4677 | 30.031 | 26.4714 | 27.5745 | 20.8244 |
| 新疆 | 1577.6 | 1531.4229 | 1466.5189 | 1298.95 | 1330.9 | 1282.3367 | 1128.4875 | 908.9655 | 720.43 | 500.5759 | 388.7848 | 361.0616 | 285.86 | 219.4628 | 180.3184 | 155.704 | 128.2218 | 116.4724 | 95.0933 | 79.0724 |
数据引用处理:
# 读取 Excel 文件中的数据
data = pd.read_excel('全国各省财政收入.xlsx', index_col=0)
years = list(data.keys())
citys = list(data.index)
citys = [city.replace('省', '').replace('市', '').replace('自治区', '') for city in citys]

重新组织数据
# 重新组织数据
total_data = {}
for year in years:temp = list(data[year])total_data[year] = []for i in range(len(temp)):total_data[year].append({"name": citys[i], "value": temp[i]})
print(total_data)

选取合适代码,进行画图:
对应的代码:
折线图
# 获取指定年份的图表
def get_year_overlap_chart(year: int) -> Line:line = (Line().add_xaxis(xaxis_data=[item["name"] for item in total_data[year]]).add_yaxis(series_name="财政收入",y_axis=[item["value"] for item in total_data[year]],label_opts=opts.LabelOpts(is_show=False),).set_global_opts(title_opts=opts.TitleOpts(title="{}年全国各省财政收入".format(year), subtitle="数据来源:全国各省财政收入.xlsx"),tooltip_opts=opts.TooltipOpts(is_show=True, trigger="axis", axis_pointer_type="shadow"),legend_opts=opts.LegendOpts(selected_map={"财政收入": False,}),))return line# 生成时间轴的图
timeline = Timeline()
for y in years:timeline.add(get_year_overlap_chart(year=y), time_point=str(y))# 设置时间轴自动播放等属性
timeline.add_schema(is_auto_play=True, play_interval=1000)
timeline.render("finance_indices_2002.html")

柱状图
# 获取指定年份的图表
def get_year_overlap_chart(year: int) -> Bar:bar = (Bar().add_xaxis(xaxis_data=[item["name"] for item in total_data[year]]).add_yaxis(series_name="财政收入",y_axis=[item["value"] for item in total_data[year]],label_opts=opts.LabelOpts(is_show=False),).set_global_opts(title_opts=opts.TitleOpts(title="{}年全国各省财政收入".format(year), subtitle="数据来源:全国各省财政收入.xlsx"),tooltip_opts=opts.TooltipOpts(is_show=True, trigger="axis", axis_pointer_type="shadow"),legend_opts=opts.LegendOpts(selected_map={"财政收入": False,}),))return bar# 生成时间轴的图
timeline = Timeline()for y in years:timeline.add(get_year_overlap_chart(year=y), time_point=str(y))# 设置时间轴自动播放等属性
timeline.add_schema(is_auto_play=True, play_interval=1000)
timeline.render("finance_indices_2002.html")
#%%
from pyecharts.charts import Line, Timeline
from pyecharts import options as opts# 获取指定年份的图表
def get_year_overlap_chart(year: int) -> Line:line = (Line().add_xaxis(xaxis_data=[item["name"] for item in total_data[year]]).add_yaxis(series_name="财政收入",y_axis=[item["value"] for item in total_data[year]],label_opts=opts.LabelOpts(is_show=False),).set_global_opts(title_opts=opts.TitleOpts(title="{}年全国各省财政收入".format(year), subtitle="数据来源:全国各省财政收入.xlsx"),tooltip_opts=opts.TooltipOpts(is_show=True, trigger="axis", axis_pointer_type="shadow"),legend_opts=opts.LegendOpts(selected_map={"财政收入": False,}),)

饼图
# 获取指定年份的图表
def get_year_overlap_chart(year: int) -> Bar:bar = (Bar().add_xaxis(xaxis_data=[item["name"] for item in total_data[year]]).add_yaxis(series_name="财政收入",y_axis=[item["value"] for item in total_data[year]],label_opts=opts.LabelOpts(is_show=False),).set_global_opts(title_opts=opts.TitleOpts(title="{}年全国各省财政收入".format(year), subtitle="数据来源:全国各省财政收入.xlsx"),tooltip_opts=opts.TooltipOpts(is_show=True, trigger="axis", axis_pointer_type="shadow"),legend_opts=opts.LegendOpts(selected_map={"财政收入": False,}),))return bar# 生成时间轴的图
timeline = Timeline()for y in years:timeline.add(get_year_overlap_chart(year=y), time_point=str(y))# 设置时间轴自动播放等属性
timeline.add_schema(is_auto_play=True, play_interval=1000)
timeline.render("finance_indices_2002.html")
#%%
from pyecharts.charts import Line, Timeline
from pyecharts import options as opts# 获取指定年份的图表
def get_year_overlap_chart(year: int) -> Line:line = (Line().add_xaxis(xaxis_data=[item["name"] for item in total_data[year]]).add_yaxis(series_name="财政收入",y_axis=[item["value"] for item in total_data[year]],label_opts=opts.LabelOpts(is_show=False),).set_global_opts(title_opts=opts.TitleOpts(title="{}年全国各省财政收入".format(year), subtitle="数据来源:全国各省财政收入.xlsx"),tooltip_opts=opts.TooltipOpts(is_show=True, trigger="axis", axis_pointer_type="shadow"),legend_opts=opts.LegendOpts(selected_map={"财政收入": False,}),)

相关文章:
数据可视化pyecharts——数据分析(柱状图、折线图、饼图)
安装 首先确保已经安装了pyecharts库,如果没有,可以通过pip install pyecharts进行安装。 柱状图 从pyecharts.charts导入Bar,从pyecharts导入options。准备数据(如类别数据x_data和对应的数值数据y_data)。创建Bar对…...
小程序构建npm失败
小程序构建npm失败 项目工程结构说明解决方法引入依赖导致的其他问题 今天在初始化后的小程序中引入TDesign组件库,构建npm时报错。 项目工程结构说明 初始化后的项目中,包含miniprogram文件夹和一些项目配置文件,在project.config.json文件中…...
计算机人工智能前沿进展-大语言模型方向-2024-09-20
计算机人工智能前沿进展-大语言模型方向-2024-09-20 1. Multimodal Fusion with LLMs for Engagement Prediction in Natural Conversation Authors: Cheng Charles Ma, Kevin Hyekang Joo, Alexandria K. Vail, Sunreeta Bhattacharya, Alvaro Fern’andez Garc’ia, Kailan…...
cv环境设置
pytorch TensorFlow。。。 环境布置,库的安装顺序: 确定显卡可用的cuda上下限 (比如3090需要至少11.x以上的cuda参考: 一文理顺:pytorch、cuda版本,从此不再为兼容问题头疼! - 哔哩哔哩 (bilibili.com)&am…...
线性代数书中求解线性方程组的三种方法的实例
目录 一、克拉默法则(P45) 二、逆矩阵(P46) 三、高斯-约旦消元法(P65) 一、克拉默法则(P45) 二、逆矩阵(P46) 三、高斯-约旦消元法(P65)...
Linux容器化管理——Docker常见命令总结
创建镜像 docker build -t (镜像名) . 自动在当前目录下找dockerfile也可换成其他路径 查看本地镜像 docker images 登陆镜像服务器 docker login -u (登录名) -p (登陆密码) (镜像服务器…...
智慧校园建设解决方案建设系统简介
一、建设背景 1.1 政策背景 1.2 班牌的演变 1.3 建设愿景 二、 智慧班牌简介 三、智慧班牌系统 3.1 系统概述 3.2 软件平台功能交互简介 3.2.1 智慧班牌与管理平台间的功能关联 3.2.2 手机客户端(管理员、教师、家长端) 3.2.3 手机客户端&#x…...
用Python打造互动式中秋节庆祝小程序
中秋节,这个充满传统韵味的节日,不仅是家人团聚的时刻,也是程序员展示创意的好机会。本文将引导您使用Python创建一个互动式中秋节庆祝小程序,它不仅能够展示节日祝福,还能通过一些简单的特效增加节日气氛。 文章目录 …...
Linux 生成 git ssh 公钥
在Linux系统中生成SSH公钥以用于Git的步骤如下: 打开终端:首先,你需要打开你的Linux系统的终端。 检查SSH密钥:在生成新的SSH密钥之前,你可以检查是否已经存在SSH密钥。在终端中输入以下命令: ls -al ~/.s…...
CertiK因发现Apple Vision Pro眼动追踪技术漏洞,第6次获苹果认可
2024年9月20日,头部Web3.0安全机构CertiK自豪地宣布,CertiK的工程师因发现Apple Vision Pro MR(混合现实)头显设备中的关键漏洞而获得Apple公司认可,这已经是Apple公司第六次公开发布对CertiK的致谢,Cert…...
自动登录 RPA 的进阶:滑块验证的巧妙实现
在RPA的众多应用场景的探索中,自动登录是一个至关重要的环节,它为后续的自动化操作奠定了基础。然而,当我们面对滑块验证这一常见的挑战时,常常会感到困惑和无从下手。本文就来分享自动登录RPA的进阶----滑块验证如何实现。 在…...
Flask-WTF的使用
组织一个 Flask 项目通常需要遵循一定的结构,以便代码清晰、可维护。下面是一个典型的 Flask 项目结构: my_flask_app/ │ ├── app/ │ ├── __init__.py │ ├── models.py │ ├── views.py │ ├── forms.py │ ├── templat…...
Docker 进入容器并运行命令的方法
目录 理解 Docker 容器的基本概念 使用 docker exec 进入运行中的容器 基本用法 常用选项解析 选项详解 实际案例演示 1. 进入容器的交互式 Shell 2. 在容器中运行单个命令 3. 以指定用户运行命令 4. 设置环境变量并运行命令 5. 指定工作目录 使用 docker attach 附…...
2024“华为杯”中国研究生数学建模竞赛(E题)深度剖析_数学建模完整过程+详细思路+代码全解析
问题1详细解答过程 (1) 交通流参数统计 数据预处理 数据读取: 从四个视频观测点提取交通流数据,包括每个时间段内的车流量、车速和车道占用率等。 交通流参数计算 3. 计算流量 (Q): Q ( t ) N ( t ) Δ t Q(t) \frac{N(t)}{\Delta t} Q…...
伊犁云计算22-1 apache 安装rhel8
1 局域网网络必须通 2 yum 必须搭建成功 3 apache 必须安装 开干 要用su 用户来访问 一看httpd 组件安装完毕 到这里就是测试成功了 如何修改主页的目录 网站目录默认保存在/var/WWW/HTML 我希望改变/home/www 122 127 167 行要改...
概率论原理精解【13】
文章目录 在度量空间中,连续映射概述一、度量空间与距离函数二、连续映射的定义三、连续映射的等价定义四、连续映射的性质五、应用与例子 球形邻域刻画一、球形邻域的定义二、连续映射的球形邻域刻画三、等价性证明四、应用与例子 将度量空间上的连续映射推广到拓扑…...
年度巨献 | OpenCSG开源最大中文合成数据集Chinese Cosmopedia
01 背景 近年来,生成式语言模型(GLM)的飞速发展正在重塑人工智能领域,尤其是在自然语言处理、内容创作和智能客服等领域展现出巨大潜力。然而,大多数领先的语言模型主要依赖于英文数据集进行训练,中文数据…...
Mac 上,终端如何开启 proxy
文章目录 为什么要这么做前提步骤查看 port查看代理的port配置 bash测试 为什么要这么做 mac 上的终端比较孤僻吧,虽然开了,但是终端并不走🪜…产生的现象就是,浏览器可以访问🌍,但是终端不可以访问&#…...
Linux中的进程入门
冯诺依曼体系结构 操作系统(Operator System) 进程控制块(PCB) struct task_struct{//该进程的所有属性//该进程对应的代码和属性地址struct task_struct* next; }; struct task_struct 内核结构体——>创建内核结构体对象(task_struct)…...
Redis面试真题总结(三)
文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 什么是缓存雪崩?该如何解决? 缓存雪崩是指…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
