2016-06-17 1 views
1

이 플롯의 x 축이 더보기 좋게하려면 어떻게해야합니까?Python을 사용하여 matplotlib에서 x 축 값의 날짜/시간 형식을 변경하려면 어떻게해야합니까?

내 데이터 프레임의 모든 값을 플로팅하는 동안 X 축에 3 개의 값만 표시하는 방법이 있습니까?

image

나는 plt.xticks(rotation=70)를 사용하여 시도하지만 여전히 당신이 볼 수 있듯이, 그것은 형식 MMM DD YYYY의 날짜를 보여줍니다 내 번호 ..

을 잘라냅니다.

나는 MMM DD 또는 DD MMM과 같은 것을 원한다. 심지어 2 줄로 DD MM \n YYYY 줄을 써야합니다.

어떻게하면됩니까?

차트 생성을 위해 사용되는 코드이다

df_21d [ "타임 스탬프"]

667 2016-05-27 08:00:00 
668 2016-05-27 08:30:00 
669 2016-05-27 09:00:00 
670 2016-05-27 09:30:00 
671 2016-05-27 10:00:00 
Name: Timestamp, dtype: datetime64[ns] 

df_21d : 여기

plt.plot(df_21d["Timestamp"], df_21d["Close"], label="Price", color="b")  

plt.title("BTC - 21 Dias") 

plt.xlabel("Data") 
plt.ylabel("Preco (em USD)") 

plt.grid(True) 

plt.show() 

하면 내 데이터의 [ "닫기"]

667 480.00 
668 471.36 
669 477.35 
670 476.55 
671 479.92 
Name: Close, dtype: float64 

은 내가 df_21d.Timestamp를 포맷해야하는 경우 몰라요 또는 그것이하기 matplotlib 구성이 있다면. 어쩌면 타임 스탬프를 포맷하고 plt.xticks()을 사용하여 벡터로 전달 ...하지만 그 방법에 대해 잘 모르겠습니다 ...

x- 값의 첫 번째, 축, 뭔가처럼 함께 :

plt.xaxis_labels = (df_21d["Timestamp"][1], 
      df_21d["Timestamp"][len(df_21d["Timestamp"])/2], 
      df_21d["Timestamp"][len(df_21d["Timestamp"])]) 
+0

나는 이것이 실제 문제에 대한 해결책이 아니라는 것을 알고있다. 그러나 나는 진드기를 적게 사용하는 것에 대해 생각해보기를 권한다. 5-7은 독자에게 규모에 대한 좋은 인상을주기에 충분해야하며 음모를 덜 어둡게 만듭니다. – Ian

+0

@ian_itor 질문을 업데이트했습니다. X 축에서 3 개의 값만 표시 할 수 있습니까? 3 tick을 사용하고 싶지 않습니다. 모든 tick을 plot하고자합니다. (데이터를 보간하고 싶지는 않습니다.) x 축의 첫 번째, 마지막, 중간 tick timestamp 값만 표시 할 수 있습니까? –

답변

0

이 답변이 도움이 될 수 있습니다

plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%d %m')) 
: 기본적으로 Not write out all dates on an axis, Matplotlib

을, 당신은 형식을 설정하여 날짜의 형식을 설정할 수 있습니다

관련 문제