Matplotlib:无法读取x轴科学计数法的幂

时间:2019-10-01 12:28:33

标签: python matplotlib

我以科学计数法绘制了x轴,但是10 ^( this )“ this ”不可读:

将其另存为png时,情况会更糟:

hard to see power symbol

我正在使用 GoogleColab

编辑可复制的示例

数据框:

      max_VG  total_dose uG  time_plot_color
0    1.23599  0.000          25.349         
10   1.23740  0.000          45.743         
20   1.23584  14214.736      6.107          
30   1.23212  49751.576      26.516         
40   1.23427  53305.260      46.810         
50   1.23227  82905.740      7.137          
60   1.22827  156906.940     27.457         
70   1.23081  156906.940     47.839         
80   1.22877  213017.740     8.149          
90   1.22450  325239.340     28.436         
100  1.22849  325239.340     48.802         
110  1.22595  401273.540     9.145          
120  1.22225  538135.100     29.494         
130  1.22687  538135.100     49.902         
140  1.22438  652308.380     10.241         
150  1.22174  823568.300     30.597         
160  1.22662  823568.300     51.021

我正在使用 holder 变量和 exec函数作为占位符,因此我可以在多个图中使用同一模板图形

class TemplatePlots: 
  def __init__(self, plot):
    self.plot=plot
  def template_simple (self, ax_label='x', ay_label='y', title=None ):    
   #set up the figure

    fig, (ax) = plt.subplots(1, sharex=True, figsize=(14,7))
    fig.suptitle(title, fontsize=16)
    ax.set_xlabel(ax_label, fontsize=14, color='blue')
    ax.set_ylabel(ay_label, fontsize=14, color='blue')
    ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0) , useMathText=True)
    ax.ticklabel_format(style='sci', axis='x', scilimits=(0,0) , useMathText=True)

    #the actual plot 
    exec(self.plot)

    plt.show()


holder='''
plt.scatter(df['total_dose uG'], df['max_VG'], 
c= df['time_plot_color']), 
clb = plt.colorbar()
clb.ax.set_title('time(s)')
'''

temp=TemplatePlots(holder)
temp.template_simple(ax_label='total_dose uG', ay_label='maxVG (V)', title=f"MaxVG vs Dose:  {maxVG['file'].iloc[0]}")

0 个答案:

没有答案