簡體   English   中英

軸標簽間距不正確

[英]Axis labels not spacing correctly

我正在嘗試 plot 列數據與數據幀的 label 行。 當我這樣做時,plot 看起來不錯,但隨着行數的增加,Y 軸開始看起來難以辨認。 我不明白為什么 X 軸的自動間距工作正常但 Y 軸的自動間距不一樣。

x1 = M.iloc[:,1]
plt.plot(x1,x)

其中變量“x”代表下面 dataframe“M”的第 0 列值

在此處輸入圖像描述

"M" dataframe:

            0.0         0.5   1.0
0           300  300.000000  1550
1.00e-01 s  300  300.769527  1550
2.00e-01 s  300  301.538106  1550
3.00e-01 s  300  302.305739  1550
.
.
.
2.80e+00 s  300  321.192396  1550
2.90e+00 s  300  321.935830  1550

編輯

所以似乎是第一列的格式是科學記數法把事情搞砸了,但仍然不知道為什么

x = [0]
i=1
while i < 30:
    q = i*0.1
    xx = str('{:.2e}'.format(q)) + ' s'
    x.append(xx)
    i = i + 1

M = pd.DataFrame(index=x, columns=3)

所以在上面的代碼中,是xx = str('{:.2e}'.format(q)) + ' s'行讓 Y 標簽 go 變得瘋狂。 不幸的是,我無法將其取出,因為我需要它們以科學記數法表示。

如果可以消除一些刻度標簽,您可以嘗試刻度間距。 其他選項是增加 plot 大小或減小 y 標簽的字體大小。

import matplotlib.pyplot as plt
import matplotlib.ticker as ticker

x1 = M.iloc[:,1]


tick_spacing = 2 # or whatever label gap you want to use.

fig, ax = plt.subplots(1,1)
apx.plot(x1,x)
ax.yaxis.set_major_locator(ticker.MultipleLocator(tick_spacing))
plt.show()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM