2012-01-19 4 views
4

日付に対して非数値データを単純な折れ線グラフとしてプロットする必要があります。私はmatplotlibを使用しています。matplotlib軸の起点からのスペースを残してティックを開始する方法

ここにいくつかのサンプルコードがあります。

import matplotlib.pyplot as plt 

xticks=['Jan','Feb','Mar','April','May'] 
x=[1,2,3,4,5] 
yticks = ['Windy', 'Sunny', 'Rainy', 'Cloudy', 'Snowy'] 
y=[2,1,3,5,4] 

plt.plot(x,y,'bo') #.2,.1,.7,.8 
plt.subplots_adjust(left =0.2) 

plt.xticks(x,xticks) 
plt.yticks(y,yticks) 
plt.show() 

Graph generated from code

私は、原点からのいくつかのスペースを残して目盛りラベルを開始したいです。彼らはあまりにも詰め込まれていないように。私はこれにFixedlocatorを使うべきですか?また、グラフは、thisの例のように、すべての点のマーカーを示す行にしたいと思います。 これをどうすれば実現できますか?

+1

  • マーカードットはplt.plotの呼び出しでmarker = 'o' パラメータ設定を使用して、プロットに追加することができますplt.xticks(x、['\ n' + s for xticks]) 'は動作します – wim

  • 答えて

    6
    • ax.set_ylimで下のylimを設定することで、グラフを「持ち上げる」ことができます。あなたが安いハックに興味があるなら、 `使用して、

    import matplotlib.pyplot as plt 
    fig = plt.figure() 
    ax = fig.add_subplot(1, 1, 1) 
    
    xticks=['Jan','Feb','Mar','April','May'] 
    x=[1,2,3,4,5] 
    yticks = ['Windy', 'Sunny', 'Rainy', 'Cloudy', 'Snowy'] 
    y=[2,1,3,5,4] 
    
    plt.plot(x,y,'b-', marker = 'o') #.2,.1,.7,.8 
    plt.subplots_adjust(left =0.2) 
    
    plt.xticks(x,xticks) 
    plt.yticks(y,yticks) 
    ax.set_ylim(0.5,max(y)) 
    plt.show() 
    

    enter image description here

    +0

    ありがとうございます。うまくいく。また、ax.set_xlim(0.5、max(x))を追加して、x軸に目盛りのためのスペースを残しました。 – Angela

    関連する問題