【发布时间】:2022-01-22 19:01:23
【问题描述】:
我正在处理以米为单位的数据并想绘制位置。以米为单位的刻度模糊了绘图的可读性,所以我想以公里为单位绘制数据。我知道可以缩放所有数据d/1000.,但是,这会降低代码在我眼中的可读性,尤其是当您绘制许多不同的线时,每次都必须进行这种转换。
我正在寻找一种实现这种转换的通用方法,我可以想象在 matplotlib 中有一种很好的方法来实现这一点。
为您提供一些示例代码:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(7500, 30000, 300)
y_ref = np.linspace(5000, 15000, 300)
y_noised = y_ref + np.random.normal(0, 250, size=y_ref.size)
fig = plt.Figure(figsize=(6,6))
ax = fig.add_subplot(1, 1, 1)
ax.plot(x, y_ref, c='r')
ax.scatter(x, y_noised, alpha=0.2)
fig
我想要下图,不需要将x、y_ref和y_noised分别按1000缩放。
有没有办法在 matplotlib 中执行这种转换,这样您只需为每个图形执行一次一次,无论您绘制多少行?
【问题讨论】:
标签: python matplotlib