我试图在对数日志范围内创建散点图。以下是我的代码:
from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes
from mpl_toolkits.axes_grid1.inset_locator import mark_inset
fig, ax1 = plt.subplots(figsize=[20,10])
s1=ax1.scatter(df_100['Publications2013'], df_100['totalcitations'], color='purple', label='hindex >99 percetile')
s2=ax1.scatter(df_99['Publications2013'], df_99['totalcitations'], color='blue', label='hindex 98-99 percentile' )
m,b = np.polyfit(df_all['Publications2013'],df_all['totalcitations'],1)
s8= ax1.plot(df_all['Publications2013'], m*df_all['Publications2013']+b, linestyle='-', linewidth='1', color='black', label='average citation/publications')
ax1.set_xlim(1,950)
ax1.set_ylim(1,122000)
ax1.set_xscale('log')
ax1.set_yscale('log')
plt.savefig("plots/pubs_vs_citations_zoom_log.png")
我收到以下错误:
OverflowError: Allocated too many blocks
当我删除以下两行时,图表绘制得很好,但使用常规比例。如何将其转换为对数刻度?我不确定我理解错误的含义。
ax1.set_xscale('log')
ax1.set_yscale('log')
答案 0 :(得分:0)
我通过删除来解决它:
m,b = np.polyfit(df_all['Publications2013'],df_all['totalcitations'],1)
s8= ax1.plot(df_all['Publications2013'], m*df_all['Publications2013']+b, linestyle='-', linewidth='1', color='black', label='average citation/publications')
它与linestyle='-'