2017-02-17 28 views
0

У меня есть данные в диапазоне от Й^-35 Х^-17 заговора против plt.arange (0,1,0.01, поплавок)прокладочных данные высокого показателя степени вышли прямую линию в jupyter с Matplotlib

Но результат, который вышел не как то, что я ожидал

Он вышел как график рассеяния при х = 0

fig0 = plt.figure() 
ax0 = fig0.add_subplot(111) 
ax0.scatter(data, np.arange(0,1,0.01, float)) 
plt.show() 

test

Мои данные

[8.1374114674802597e-34, 3.1029550981861939e-33, 1.1597885475591305e-32, 4.249093142425394e-32, 1.5259060563175121e-31, 5.3712263279542833e-31, 1.8532466296313074e-30, 6.2676840470669414e-30, 2.0777585717378257e-29, 6,7514519329613693 e-29, 2.1503709667687085e-28, 6.7134182663760851e-28, 2.0544147967282703e-27, 6.1623544285318554e-27, 1.8118378266076862e-26, 5.2216298447246435e-26, 1.4750507130901448e-25, 4.0843404182592419e-25, 1.1085391173145788e-24, 2.9491320831520085 e-24, 7.6904461440246843e-24, 1.9657258864483237e-23, 4.9250255625136312e-23, 1.2095062905130028e-22, 2.9115341220471074e-22, 6.8698894333261671e-22, 1.5888822776169327e-21, 3.6020339750412715e-21, 8.0042012411717219e-21, 1.7434211238444047 e-20, 3.7222086900772078e-20, 7.7895656892566942e-20, 1.5978642487125893e-19, 3.2127773238718804e-19, 6.3319209199795436e-19, 1.2232196500900031e-18, 2.3162611675507162e-18, 4.2991709423185681e-18, 7.821607374 1229478e-18, 1.3948304504692927e-17, 2.4381529062694997e-17, 4.1774818091868502e-17, 7.0158824965566103e-17, 1.1549525882654105e-16, 1.8636318176073254e-16, 2.9476111245571357e-16, 4.5697702677808896e-16, 6.9443669074066644-R, 1.0343917791808785 e-15, 1.5102594858792363e-15, 2.1613853049710207e-15, 3.0319841524935535e-15, 4.16903719647446e-15, 5.6189960042533021e-15, 7.423279057200236e-15, 9.6127347995666781e-15, 1.2201472498036293e-14, 1.5180694486447218e-14, 1.8513355693857711 e-14, 2.2130578197031099e-14, 2.5930714678655535e-14, 2.978175748164367e-14, 3.3527430377313704e-14, 3.6996814006944967e-14, 4.0016812608403043e-14, 4.2426262158113436e-14, 4.4090107652324378e-14, 4.4911923712397478e-14, 4.4843165941867072 e-14, 4.3887918667758544e-14, 4.2102493249632879e-14, 3.95899319e-14, 3.6490163131389593e-14, 3.2967116699543334e-14, 2.9194445863162421e-14, 2.534157584536242e-14, 2.1561606171497332e-14, 1.7982195347686173e-14, 1.4700036856351123 e-14, 1.1778995241752241e-14, 9.251500 5595000464e-15, 7.1224633450482873e-15, 5.3748008438286255e-15, 3.9756545492025782e-15, 2.8824980048934251e-15, 2.048535527467194e-15, 1.427026688747923e-15, 9.7439444890073833e-16, 6.5215618448657109e-16, 4.2784114065927355e-16, 2.7512343183374094 e-16, 1.7341502674112552e-16, 1.0714205813048751e-16, 6.4885454703296974e-17, 3.8516678681795513e-17, 2.2411164278722972e-17, 1.2781861811609836e-17, 7.1455872617985816e-18, 2.9155777030446838e-18, 2.1031385150348866e-18]

ответ

0

Matplotlib не смог выбрать линейную шкалу, чтобы хорошо соответствовать вашим данным. Так как ваши данные координаты х охватывают широкий диапазон величин, возможно, логарифмическая шкала подойдет вам лучше:

fig0 = plt.figure() 
ax0 = fig0.add_subplot(111) 
ax0.scatter(data, np.arange(0,1,0.01, float)) 
ax0.set_xlim(np.min(data), np.max(data)) 
ax0.set_xscale('log') 
plt.show() 

enter image description here

+0

спасибо за ответ, это странно, учитывая, что успешно построен его на MATLAB. Шкала журнала на самом деле не показывает точку, которую я хочу сделать, я имею в виду, что это не так, но на MATLAB она выглядит намного лучше. – blueblood

+0

Возможно, вам придется опубликовать фотографию того, что вы хотите, чтобы фигура выглядела, если вы хотите получить тот же эффект в matplotlib. – xnx

+0

Я понял, что случилось, я использовал неправильную функцию. должен был сделать plt .plot вместо .scatter. ошибка новобранец. Спасибо, в любом случае – blueblood