【发布时间】:2016-08-04 09:43:29
【问题描述】:
我正在使用pandas 数据框绘制散点图。这可以正常工作,但我想使用 seaborn 主题和特价功能。当我绘制调用 seaborn 的相同数据点时,y 轴几乎不可见。 X 轴值范围为 5000-15000,而 y 轴值范围为 [-6:6]*10^-7。
如果我将 y 轴值乘以 10^6,它们会正确显示,但使用seaborn 绘制时的实际值在seaborn 生成的图中仍然不可见/无法区分。
我如何seaborn 使 y 轴值在结果图中自动缩放?
还有一些行甚至包含NaN,在这种情况下,如何在绘图时忽略它,而不是手动清除包含NaN的行。
下面是我用来绘制的代码。
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.read_csv("datascale.csv")
subdf = df.loc[(df.types == "easy") & (df.weight > 1300), ]
subdf = subdf.iloc[1:61, ]
subdf.drop(subdf.index[[25]], inplace=True) #row containing NaN
subdf.plot(x='length', y='speed', style='s') #scales y-axis correctly
sns.lmplot("length", "speed", data=subdf, fit_reg=True, lowess=True) #doesn't scale y-axis properly
# multiplying by 10^6 displays the plot correctly, in matplotlib
plt.scatter(subdf['length'], 10**6*subdf['speed'])
【问题讨论】:
-
不清楚你所说的“y 轴保持不可见”是什么意思,也无法运行你的代码...