可以通过将值挤压在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()
编辑:如果你想让橙色的值与绿色的值具有相同的x宽度,你可以在每个点之间画一条直线,然后使用中点来计算应该介于哪个数据点之间.这将通过创建更多数据点来加宽数据线,numpy
在np.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()