2016-03-24 3 views
0

Ich Plotten der degree of freedom gegen die square error,:Matplotlib: Wie steuert man das Zeichenintervall der x-Achse?

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

Es

enter image description here

Das Problem erzeugen wird, ist, dass die x ax 0,5 Intervall hat, und macht keinen Sinn in diesem Kontext. Weil es einfach keinen 1.5 Freiheitsgrad gibt.

Wie kann ich die x-Achse in [1,2,3,4,] statt [1, 1,5, 2, ...] machen?

Antwort

1

Fügen Sie einfach direkt die Positionen und die Saiten Sie in der x-Achse setzen wollen . Mit Ihrem Beispiel:

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() 

, was zur Folge hat:

x axis with only integers

+0

Was ist der Unterschied zwischen plt.xticks (x)? – cqcn1991

+1

In der Rezeptur erhält plt.xticks() tatsächlich zwei Argumente: Das erste mit der Position der Labels (numerisch), das zweite mit Strings der Labels selbst. Sie können beide zu viel Kontrolle über was passiert in der Achse.In der Tat gibt es ein drittes Argument, "Rotation", das ebenso nützlich sein kann.Siehe beispielsweise dieses Beispiel: http://StackOverflow.com/questions/36184953/specifying-values-for-my-x -Achse-mit-der-Matplotlib-pyplot/36185583 # 36185583 – armatita

-1

Sie haben die XTick 1 bis 4 setzen, um 1 1:1:4 wie unter

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

oder

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

Können Sie mir ein detaillierteres Beispiel? it report 'Name 'gca' ist nicht definiert' – cqcn1991

+0

Ich benutze' plt.xticks ('stattdessen. – cqcn1991

+0

' plot ([1,2,3,4], [0.5,0.6,0.9,0.85], '-') 'then' set (gca, 'XTick', 1: 1: 4); Sorry. Normalerweise würde ich das 'plt.' weglassen, aber ich mag deinen Weg besser. – mcissel

Verwandte Themen