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()
1条答案
按热度按时间oknrviil1#
您可以通过压缩0和1之间的值来实现这一点。
编辑:如果你想让橙子值与绿色值具有相同的x宽度,你可以在每个点之间画一条直线,并使用中点来计算出应该在中间的数据点。这将通过创建更多的数据点来加宽线条,
numpy
内置了np.interp(interpolate 的缩写)。