2016-03-24 2 views
0

Я откладывая degree of freedom против square error,:Matplotlib: как управлять интервалом графика оси x?

plt.plot([1,2,3,4], [0.5,0.6,0.9,0.85],'-') 

Он будет производить

enter image description here

Проблема заключается в том, что х Топор имеет 0,5 интервал, и не имеет смысла в данном контексте. Потому что просто нет 1,5 степени свободы.

Как сделать ось x в [1,2,3,4,] вместо [1, 1.5, 2, ...]?

ответ

1

Просто добавьте непосредственно позицию и строки, которые вы хотите поместить в оси х , Используя ваш пример:

import matplotlib.pyplot as plt 
x = [1,2,3,4] 
y = [0.5,0.6,0.9,0.85] 
plt.plot(x,y,'-') 
plt.xticks(list(range(1,max(x)+1)),[str(i) for i in range(1,max(x)+1)]) 
plt.grid() 
plt.show() 

, что приводит к:

x axis with only integers

+0

В чем разница между plt.xticks (x)? – cqcn1991

+1

В рецепте plt.xticks() фактически получает два аргумента: первое с позицией меток (числовых), второе - с строками самих меток. Вы можете использовать оба метода для большого контроля над тем, что происходит на оси. Фактически есть третий аргумент, «поворот», который также может быть полезен. См. например, этот пример: http://stackoverflow.com/questions/36184953/specifying-values-for-my-x Оу-использованием-The-Matplotlib-pyplot/36185583 # 36185583 – armatita

-1

Вы должны установить XTICK от 1 до 4, на 1 1:1:4, как показано ниже

plot([1,2,3,4], [0.5,0.6,0.9,0.85],'-'); 
set(gca,'XTick',1:1:4); 

или

p = plot([1,2,3,4], [0.5,0.6,0.9,0.85],'-'); 
set(p,'XTick',1:1:4); 
+0

Можете ли вы дать мне более подробный пример? он сообщает 'имя 'gca' не определен' – cqcn1991

+0

Я использую' plt.xticks ('вместо. – cqcn1991

+0

' plot ([1,2,3,4], [0.5,0.6,0.9,0.85], '-') 'then' set (gca, 'XTick', 1: 1: 4): «Извините, я бы обычно не упоминал' plt.', но мне нравится ваш путь лучше всего. – mcissel

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