Python matplotlib:重新缩放轴标签

Python matplotlib:重新缩放轴标签,python,matplotlib,scikit-learn,scaling,Python,Matplotlib,Scikit Learn,Scaling,我使用了fromsklearn.preprocessing在X轴和Y轴上缩放数据,将数据压缩到-2600我的第一个答案是:只保留原始数据的副本。这是最简单、最具蟒蛇式的答案 scaled_array = scale(readings_array, copy=True) # do stuff like learning with scaled_array plt.plot(readings_array) 如果您试图避免复制数据。使用StandardScaler()而不是scale()。使用缩放数

我使用了from
sklearn.preprocessing
在X轴和Y轴上缩放数据,将数据压缩到
-2
。当我绘制这些数据时,我希望原始的缩放比例可以在记号上使用

我的代码如下所示:

scale(readings_array, copy=False)
plt.plot(readings_array)
ax = plt.gca()
ax.set_xticklabels(np.arange(0,24))
plt.ylabel("Total Traffic Volume")
plt.xlabel("Time")
plt.show()
这看起来像:

scale(readings_array, copy=False)
plt.plot(readings_array)
ax = plt.gca()
ax.set_xticklabels(np.arange(0,24))
plt.ylabel("Total Traffic Volume")
plt.xlabel("Time")
plt.show()


我真正想要的是XLabel在一天中的几个小时内为0->24(最小值为0),而YLabel为0->600

我的第一个答案是:只保留原始数据的副本。这是最简单、最具蟒蛇式的答案

scaled_array = scale(readings_array, copy=True)
# do stuff like learning with scaled_array
plt.plot(readings_array)
如果您试图避免复制数据。使用
StandardScaler()
而不是
scale()
。使用缩放数据时,您可以
逆变换()
数据:

scaler = sklearn.preprocessing.StandardScaler(copy=False)
readings_array = scaler.fit_transform( readings_array )
# do stuff with scaled data
readings_for_plotting = scaler.inverse_transform( readings_array )
或者使用缩放因子创建x_记号和x_记号标签:

my_xtick_labels = np.arange(0,25)
my_xticks = (my_xticks*scaler.std_) + scaler.mean_
plt.set_xticks( my_xticks )
plt.set_xticklables( my_xtick_labels )

很抱歉我的拼写错误。

我使用了第一个建议,非常简单,我喜欢!