在Matplotlib中y值的位置-Matplotlib值不跟随刻度线的位置

问题描述 投票:0回答:1

我试图找到一种解决方案,但不幸的是,到目前为止没有任何作用。

我有这个代码示例,其中的值实际上都在两侧靠近y轴,我想将它们向中心移动一些。这两个刻度线应该相互比较。

from matplotlib import pyplot as plt

y = {}
x = ["a170", "b300"]
y["OlC"] = [1,2]
y["CSD"] = [3,4]
col=["b", "r"]
mark=[".","*"]
Fig, axs = plt.subplots(figsize=(3.25,3.25))
for i, meth in enumerate(y):
    axs.plot(x, y[meth], color = col[i], marker = mark[i], linestyle='None', label=meth) 

我尝试使用以下代码移动y刻度,但它仅移动了刻度。

axs.set_xticks([0.25,0.75])

是否有任何方法可以移动值,例如一个在左边25%上,另一个在75%上,与壁虱一样?

谢谢!

enter image description here

python matplotlib position xvalue xticks
1个回答
0
投票

您可以先使用x轴上的数字进行绘制,然后设置极限值,设置所需的刻度,最后设置刻度标签。您可以在axs.set_xlim(-1, 2)中选择自己喜欢的值,具体取决于想要的价格变动幅度。

for i, meth in enumerate(y):
    axs.plot(range(len(x)), y[meth], color = col[i], marker = mark[i], linestyle='None', label=meth) 

axs.set_xlim(-1, 2)
axs.set_xticks([0, 1])
axs.set_xticklabels(x)
axs.legend()

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.