Seaborn:stripplot x-log scale折叠值

时间:2017-03-23 17:50:08

标签: seaborn

您好我正试图在seaborn中使用stripplot,x轴为对数刻度。似乎我所采取的路径并没有按预期工作。如果有人能帮助我,我将不胜感激。

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

x = np.logspace(-8, -2, 10)
y = np.linspace(0, 100, 10)

sns.stripplot(x,y)
plt.gca().set_xscale('log')

所有x值都在图的右边缘折叠(见图)。如果我将y轴设置为log,我工作正常。

enter image description here

PS:我还需要限制x刻度标签的数量。

感谢。

1 个答案:

答案 0 :(得分:1)

使用pyplot.scatter

的对数刻度上的散点图
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

x = np.logspace(-8, -2, 10)
y = np.linspace(0, 100, 10)
c = np.random.rand(10)
s = 20+np.random.rand(10)*40

plt.scatter(x,y, c=c, s=s, cmap="jet")
plt.gca().set_xscale('log')
plt.xlim(5e-9, 5e-2)

plt.show()

enter image description here

线性刻度上的相同散点图:

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

x = np.logspace(-8, -2, 10)
y = np.linspace(0, 100, 10)
c = np.random.rand(10)
s = 20+np.random.rand(10)*40

plt.scatter(x,y, c=c, s=s, cmap="jet")
plt.xlim(-0.003, 0.012)

plt.show()

enter image description here