python - matplotlib:重新缩放轴标签

标签 python matplotlib scikit-learn scaling

我用过scale来自sklearn.preprocessing在 X 和 Y 轴上缩放我的数据,将我的数据压缩为 -2 < x < 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()

看起来像:

plot

我真正想要的是一天中的几个小时的 xlabels 为 0->24(最小值为 0),ylabels 为 0->600

最佳答案

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

scaled_array = scale(readings_array, copy=True)
# do stuff like learning with scaled_array
plt.plot(readings_array)

如果您试图避免复制数据。使用 StandardScaler() 而不是 scale()。使用缩放后的数据后,您可以inverse_transform()数据:

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_ticks 和 x_ticklabels:

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 )

对打字错误表示歉意。

关于python - matplotlib:重新缩放轴标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30883933/

相关文章:

python - os.remove 去哪儿了?

python - 尝试从其他应用程序导入模型时出现 Django 导入错误

python - 在 sklearn 的双标图中绘制 PCA 加载和加载(类似于 R 的自动绘图)

python - 如何矢量化(利用 pandas/numpy)而不是使用嵌套的 for 循环

python - 制作聚类条形图

python - 如何在 matplotlib 极坐标 2D 直方图中创建曲线箱?

python - 根据字典 matplotlib 中的值更改标签颜色

python - 对直方图进行颜色编码

PHP脚本无法正确运行python脚本,但它在终端上正确运行

python - Scikit-learn 教程文档位置