2016-11-16 3 views
4

Я хотел бы сделать сюжет в Python и иметь галочки x диапазона в кратных пи.Как установить оси тиков в кратность pi (Python) (matplotlib)

Есть ли хороший способ сделать это, а не вручную?

Я подумываю использовать matplotlib, но другие варианты в порядке.

EDIT 3: Решение EL_DON работал для меня, как это:

import matplotlib.ticker as tck 
import matplotlib.pyplot as plt 
import numpy as np 

f,ax=plt.subplots(figsize=(20,10)) 
x=np.linspace(-10*np.pi, 10*np.pi,1000) 
y=np.sin(x) 

ax.plot(x/np.pi,y) 

ax.xaxis.set_major_formatter(tck.FormatStrFormatter('%g $\pi$')) 
ax.xaxis.set_major_locator(tck.MultipleLocator(base=1.0)) 

plt.style.use("ggplot") 


plt.show() 

даяние: (! Решена EDIT 3)

nice sine graph

EDIT 2: ответ EL_DON по-видимому, не работа для меня:

import matplotlib.ticker as tck 
import matplotlib.pyplot as plt 
import numpy as np 

f,ax=plt.subplots(figsize=(20,10)) 
x=np.linspace(-10*np.pi, 10*np.pi) 
y=np.sin(x) 

ax.plot(x/np.pi,y) 

ax.xaxis.set_major_formatter(tck.FormatStrFormatter('%g $\pi$')) 
ax.xaxis.set_major_locator(tck.MultipleLocator(base=1.0)) 

plt.style.use("ggplot") 

plt.show() 

дает мне

plot

, который на самом деле не выглядит правильно

+0

Это не разрешено, потому что в Linspace недостаточно точек. Попробуйте 'x = np.linspace (-10 * np.pi, 10 * np.pi, 1001)', где 1001 должно быть достаточно большим, чтобы оно выглядело плавным. –

+0

@EL_DON, да, спасибо, вот и все! – Zubo

ответ

6
f,ax=plt.subplots(1) 
x=linspace(0,3*pi,1001) 
y=sin(x) 
ax.plot(x/pi,y) 
ax.xaxis.set_major_formatter(FormatStrFormatter('%g $\pi$')) 
ax.xaxis.set_major_locator(matplotlib.ticker.MultipleLocator(base=1.0)) 

enter image description here

я использовал информацию из этих ответов:

+0

@ Zubo, если это отвечает на ваш вопрос, вы должны принять его как ответ – scicalculator

+0

@scicalculator Да, на самом деле это показывает некоторые ошибки на данный момент, поэтому я смотрю на него – Zubo

+0

Хорошо, поэтому я попробовал его с некоторыми небольшими изменениями, и есть странные поведение - я не знаю, откуда это. Отправленный в редактировании. – Zubo

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