>source

내 질문을 읽는 데 시간을내어 주셔서 감사합니다. matplotlib에서 10의 음의 거듭 제곱 배열을 그리는 데 문제가 있습니다

matplotlib 설명서에서 모든 log xscale 옵션을 읽었지만 아무 소용이 없습니다. 나는 또한 다음과 같은 질문을 읽었으며 비슷한 것처럼 보였지만 결국 나를 도와주지 못했습니다.

Matplotlib : 로그 플롯에서 10의 거듭 제곱 비활성화

다음을 사용하여 Python의 축을 플롯하십시오. 음수 지수가 10 인 로그 스케일

matplotlib에서 값이 0 인 로그 스케일 플롯 * with 음의 지수 *

matplotlib에 값이 0 인 로그 스케일 플롯

이것은 내 코드의 모양과 같은 간단한 형태입니다.

x = 0.99999, 0.9999, 0.999, 0.99의 100 개 값을 가진 np 배열

y = 대응되는 평가 출력이있는 np 배열입니다.

plt.plot(x, y, 'o')
plt.xticks([0.99999,0.9999,0.999,0.99])
plt.gca().set_xscale('log')

내가 달성하려고하는 것은 해당 y 값에 대해 플롯 된 x 축에 균등 간격으로 0.99999, 0.9999, 0.999, 0.99 값을 가진 플롯입니다.

다시 한번이 질문을 읽어 주셔서 감사합니다. 진심으로 도와 드리겠습니다.


  • 답변 # 1

    [0,1,2,3,...] 에 대해 y를 플로팅하여 이러한 종류의 플롯을 쉽게 "가짜"만들 수 있습니다.  그런 다음 xtickslabel을 [0.9999,0.999,0.99,...] 로 바꾸십시오.

    x = [0.99999,0.9999,0.999,0.99]
    y = [1,2,3,4]
    fig, ax = plt.subplots()
    ax.plot(range(len(x)),y, 'o-')
    ax.set_xticks(range(len(x)))
    ax.set_xticklabels(x)
    
    

관련 자료

  • 이전 flutter sqflite의 쿼리 조인 및 계산
  • 다음 javascript - TS가 널 입력 불가능 필드와의 널 비교에 대해 불평하게합니까?