我正在try 将两组不同的数据进行zoom ,以使其在视觉上相同.

Green个数据集具有极端的Y值和明显更多的数据点.因此,Orange个数据集是平淡和不足的.

有哪些功能可以让我将它们等同于其他功能进行扩展?

*Future viewers:‘MinMax正规化’是答复中提到的一种方法.

Issue

推荐答案

可以通过将值挤压在0和1之间来实现这一点.

import numpy as np
import matplotlib.pyplot as plt

# Define the green and orange data sets
green_data = np.random.normal(50, 10, 100)
orange_data = np.random.normal(25, 5, 10)

# Normalize the data sets using min-max scaling
green_data_normalized = (green_data - np.min(green_data)) / (np.max(green_data) - np.min(green_data))
orange_data_normalized = (orange_data - np.min(orange_data)) / (np.max(orange_data) - np.min(orange_data))

# Plot the normalized data sets
plt.plot(green_data_normalized, label='Green Data')
plt.plot(orange_data_normalized, label='Orange Data')
plt.legend()
plt.show()

normalized graphs

编辑:如果你想让橙色的值与绿色的值具有相同的x宽度,你可以在每个点之间画一条直线,然后使用中点来计算应该介于哪个数据点之间.这将通过创建更多数据点来加宽数据线,numpynp.interp(interpolate的缩写)中内置了这一点.

import numpy as np
import matplotlib.pyplot as plt

# Define the green and orange data sets
green_data = np.random.normal(50, 10, 100)
orange_data = np.random.normal(25, 5, 10)

# Define the x-values for the original and extended orange data
x_orange_original = np.linspace(0, 1, len(orange_data))
x_orange_extended = np.linspace(0, 1, len(green_data))

# Interpolate the orange data to extend it
orange_data_extended = np.interp(x_orange_extended, x_orange_original, orange_data)

# Normalize the data sets using min-max scaling
green_data_normalized = (green_data - np.min(green_data)) / (np.max(green_data) - np.min(green_data))
orange_data_normalized = (orange_data_extended - np.min(orange_data_extended)) / (np.max(orange_data_extended) - np.min(orange_data_extended))

# Plot the normalized data sets
plt.plot(green_data_normalized, label='Green Data')
plt.plot(orange_data_normalized, label='Orange Data')
plt.legend()
plt.show()

enter image description here

Python相关问答推荐

Python 3.12中的通用[T]类方法隐式类型检索

替换字符串中的多个重叠子字符串

试图找到Python方法来部分填充numpy数组

Pandas 滚动最接近的价值

重新匹配{ }中包含的文本,其中文本可能包含{{var}

如何将双框框列中的成对变成两个新列

对整个 pyramid 进行分组与对 pyramid 列子集进行分组

数据抓取失败:寻求帮助

如果满足某些条件,则用另一个数据帧列中的值填充空数据帧或数组

Python列表不会在条件while循环中正确随机化'

Django admin Csrf令牌未设置

如何使用Numpy. stracards重新编写滚动和?

lityter不让我输入左边的方括号,'

pysnmp—lextudio使用next()和getCmd()生成器导致TypeError:tuple对象不是迭代器''

在用于Python的Bokeh包中设置按钮的样式

Python—在嵌套列表中添加相同索引的元素,然后计算平均值

python的文件. truncate()意外地没有截断'

极柱内丢失类型信息""

多索引数据帧到标准索引DF

是否将Pandas 数据帧标题/标题以纯文本格式转换为字符串输出?