pandas数据框的对数对数图

12 投票
1 回答
29122 浏览
提问于 2025-04-18 07:49

我想用pandas制作一个对数-对数图。

import numpy as np
import pandas as pd
x =  10**arange(1, 10)
y = 10** arange(1,10)*2
df1 = pd.DataFrame( data=y, index=x )
df2 = pd.DataFrame(data = {'x': x, 'y': y})
df1.plot(logy=True, logx=True)    

df1.plot(logy=True, logx=True)

我该怎么把x轴变成对数轴呢?

1 个回答

17

当你想用 pandasplot 函数来创建一个对数-对数图的时候,你需要在参数中选择 loglog=True,而不是 logx=True, logy=True

import matplotlib.pyplot as plt 
import pandas as pd
import numpy as np

x = 10 ** np.arange(1, 10)
y = 10 ** np.arange(1, 10) * 2

df1 = pd.DataFrame(data=y, index=x)

df1.plot(loglog=True, legend=False)

plt.show()

Plot

撰写回答