2016-07-16 14 views
1

Я хочу построить участок Рамачандрона. На этом виде графика х идет от -180 ° до 180 °, а также у. Я хочу тикать каждые 60 градусов. Итак, вот код, который я использую:Ось не показывать тики Я хочу

import matplotlib.pyplot as plt 
from matplotlib.colors import LogNorm 

x = [-179, 179] 
y = [-179, 179] 

fig = plt.figure(1) 
ax = plt.subplot(111) 

ax.axis([-180, 180, -180, 180]) 

ax.set_xticks([-180, -120, -60, 0, 60, 120, 180]) 
ax.set_yticks([-180, -120, -60, 0, 60, 120, 180]) 


# 1 bim = 1 degree 
# !!! Logarithmic normalization of the colors 
plt.hist2d(x, y, bins=180, norm=LogNorm()) 
plt.colorbar() 
plt.show() 

В этом рабочем примере я рисую только две точки. Но клещи -180 и 180 не показаны, ни одна из осей:

enter image description here

Если изменить х и у к:

x = [-180, 180] 
y = [-180, 180] 

Я получаю то, что я хочу:

enter image description here

Есть ли способ достичь второго результата без изменения данных?

ответ

0

используется hist2d, установите ось клещей после построения графика:

import matplotlib.pyplot as plt 
from matplotlib.colors import LogNorm 

x = [-179, 179] 
y = [-179, 179] 

fig = plt.figure(1) 
ax = plt.subplot(111) 

# 1 bim = 1 degree 
# !!! Logarithmic normalization of the colors 
plt.hist2d(x, y, bins=180, norm=LogNorm()) 
plt.colorbar() 

ax.axis([-180, 180, -180, 180]) 
ax.set_xticks([-180, -120, -60, 0, 60, 120, 180]) 
ax.set_yticks([-180, -120, -60, 0, 60, 120, 180]) 

plt.show() 

enter image description here

+0

Любопытный. Почему так с помощью hist2d? (Он работает, я приму ваш ответ). – Rififi

Смежные вопросы