python 山峦图

devtools/2024/9/20 15:29:35/

效果:

代码:

import matplotlib.pyplot as plt
import numpy as npdef mountain_plot(data_dict, colors=None):if colors is None:colors = get_colors_from_map(len(data_dict), "Spectral")x = list(data_dict.keys())# Y轴位置y_positions = [2 * i for i in range(len(x))]# 创建图形fig, axs = plt.subplots(figsize=(8, 12))# 为每个月绘制核密度曲线,并水平错开显示for i, month in enumerate(list(data_dict.keys())):# 核密度估计density, bins = np.histogram(data_dict[month], bins=30, density=True)bins = 0.5 * (bins[1:] + bins[:-1])  # 转换为 bin 的中心# 每个月份的曲线位置偏移axs.fill_between(bins, y_positions[i] + density, y_positions[i], facecolor=colors[i], alpha=0.7)axs.plot(bins, y_positions[i] + density, color=colors[i], lw=1.5)# 设置月份作为Y轴标签axs.set_yticks(y_positions)axs.set_yticklabels(x)# 添加横轴的网格线axs.grid(axis='y', linewidth=1, color='gray', alpha=0.2)# 去掉边框线axs.spines['top'].set_visible(False)axs.spines['bottom'].set_visible(False)axs.spines['right'].set_visible(False)axs.spines['left'].set_visible(False)# 显示图像plt.tight_layout()plt.show()if __name__ == '__main__':# 模拟数据生成函数,基于正态分布def generate_trend_data(size=1000):np.random.seed(0)# 前半段平稳trend = np.linspace(0, 0.3, size // 2)# 后半段波动较大trend = np.concatenate([trend, np.random.normal(0.1, 0.5, size // 2)])return trenddef generate_normal_data(mean, std=1.2, size=1000):np.random.seed(6)  # 固定随机数种子return np.random.normal(mean, std, size)# 月份months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']# 为每个月生成不同的正态分布数据data_dict = {}for i in range(6):data_dict[months[i]] = generate_normal_data(i * 2) / 10for i in range(6, 12):data_dict[months[i]] = generate_normal_data((11 - i) * 2) / 10mountain_plot(data_dict)


http://www.ppmy.cn/devtools/114558.html

相关文章

强制访问C++的private变量

有时候想要访问别人封装好的代码(第三方库)中的私有成员&#xff0c;而第三方库中有没有相应的public接口让你去访问&#xff0c;这时候可以这么做&#xff1a; #include <iostream> using namespace std; class A { private:int x 3; }; class B { public:int x 1; }…

使用Big Data Tools连接JetBrains IDE与OSS

您可以在JetBrains IDE中通过Big Data Tools插件直接管理OSS的Bucket和文件。 什么是Big Data Tools Big Data Tools是一款JetBrains IDE插件&#xff0c;可以提供以下扩展功能&#xff1a; 便于使用远程文件系统&#xff08;包括OSS&#xff09;的用户界面。 与文件管理器类…

C++ | Leetcode C++题解之第405题数字转换为十六进制数

题目&#xff1a; 题解&#xff1a; class Solution { public:string toHex(int num) {if (num 0) {return "0";}string sb;for (int i 7; i > 0; i --) {int val (num >> (4 * i)) & 0xf;if (sb.length() > 0 || val > 0) {char digit val …

<<编码>> 第 14 章 反馈与触发器(8)--带预设和清零的触发器 示例电路

带预设和清零的边缘触发 D 型触发器 info::操作说明 将 “清零” 置为高电平可将 Q 置为 0; 将 “预设” 置为高电平可将 Q 置为 1; 注: 如果两者同为高电平, 则清零占优, 应避免同时出现 其余操作同上 primary::在线交互操作链接 https://cc.xiaogd.net/?startCircuitLinkhtt…

2024百度的组织架构和产品分布

百度2024年的组织架构主要分为以下几个事业群组&#xff0c;每个事业群组负责不同的产品和服务&#xff1a; 一、智能云事业群组&#xff08;ACG&#xff09; 主要产品与服务&#xff1a; 百度云&#xff1a;提供云计算、存储、大数据处理等服务。AI云服务&#xff1a;包括语…

KTH5774 轮椅专用 3D 摇杆/操纵杆霍尔位置传感器芯片 对标MLX90333

KTH5774 轮椅专用 3D 摇杆/操纵杆霍尔位置传感器芯片&#xff0c;对标MLX90333 产品概述 KTH5774 是一款摇杆、操纵杆专用的 3D 霍尔磁感应芯片&#xff0c;主要面向对线性度和可靠性要求严格的应用场景。KTH5774 基于 3D 霍尔技术&#xff0c;内部分别集成了 X轴、Y 轴和 Z 轴…

seafaring靶场渗透测试

1.sql注入漏洞 进来这里有个框 尝试xss没有那咱们就来试试搜索行注入 这里有东西说明闭合成功&#xff0c;接着就order by 有三列 三个地方都有回显 查看数据库 这里查表发现只有两个 先去看看admin先来看看列 然后看用户密码&#xff0c;这里密码直接显示出来了 2.文件上传漏…

Rust 赋能前端: 视频抽帧

❝ 如果你能想得到&#xff0c;就能做得到 大家好&#xff0c;我是柒八九。一个专注于前端开发技术/Rust及AI应用知识分享的Coder ❝ 此篇文章所涉及到的技术有 WebAssembly Rust wasm-bindgen 线程池 ViteReact/Vue(下面的内容&#xff0c;在各种前端框架中都用) 因为&#xf…