如何解决如何为matplotlib标记提供恒定的位移?
我想在matplotlib线图的数据点和参照标记之间有一个固定的偏移量。这意味着,与所使用的缩放级别无关,(绿色)标记应始终位于数据点下方X
dpi(或cm等)。
我可以通过在绘制时手动计算偏移量来做到这一点。请参见下面的示例。但是当我放大绘图时,会得到不同的偏移量。
是否有可能告诉matplotlib在数据点和标记之间保持恒定位移?
import pandas as pd
import numpy as np
import matplotlib
np.random.seed(0)
matplotlib.use('QT5Agg')
matplotlib.rcParams['figure.figsize'] = (20.0,22.0)
import matplotlib.pyplot as plt
randomArray = 0.1 * np.random.rand(50)
randomArray=randomArray.reshape(1,-1)
secondArray = np.array([[2,2]])
combinedArray = np.c_[randomArray,secondArray]
df = pd.DataFrame(combinedArray.T)
df2 = df-0.2
plt.plot(df,'-',c='r')
plt.plot(df2,'o',markersize=8,c='g')
plt.show()
read builtin's default REPLY variable
解决方法
matplotlib provides offset_copy()
对于这种用例
import matplotlib.transforms as mtransforms
fig,ax = plt.subplots()
trans_offset = mtransforms.offset_copy(ax.transData,fig=fig,x=0,y=-0.10,units='inches')
ax.plot(df,'-',c='r')
ax.plot(df,'o',markersize=8,c='g',transform=trans_offset)
plt.show()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。