>

나는 이미 수정 한 arrow_simple_demo.py 여기 에서 일하고 있습니다. 될 :

import matplotlib.pyplot as plt
ax = plt.axes()
ax.arrow(0, 0, 0.5, 0.5, head_width=0.05, head_length=0.1)

그러나 kwarg를 사용하여 화살표의 선 스타일을 점선으로 변경하고 싶습니다. 화살표 문서는 가능하다는 것을 암시합니다. 화살표 문서

따라서 화살표에 ** kwargs 인수를 가져 오려고했습니다 :

kwargs = {linestyle:'--'}

이제 코드는 다음과 같습니다 :

import matplotlib.pyplot as plt
ax = plt.axes()
kwargs={linestyle:'--'}
ax.arrow(0, 0, 0.5, 0.5, head_width=0.05, head_length=0.1, **kwargs)

결과는 다음과 같습니다.

NameError: name 'linestyle' is not defined

누가 kwargs를 올바르게 사용하고 있는지, matplotlib의 patch 클래스에서 Patch를 가져와야이 작업을 수행 할 수 있는지 궁금합니다. "기타 유효한 kwargs (: class : Patch 에서 상 속됨) ) "kwargs 목록 위의 화살표 문서에있는 것이 필요할 수도 있다고 생각합니다. 또한 해당 질문을 알아 내기 위해 패치 문서를보고 있습니다. 여기

수정 :

라인 스타일 키를 문자열로 전달했을 때 코드가 완료되었지만 원하는 점선 화살표가 표시되지 않습니다.

import matplotlib.pyplot as plt
ax = plt.axes()
kwargs={'linestyle':'--'}
ax.arrow(0, 0, 0.5, 0.5, head_width=0.05, head_length=0.1, **kwargs)

사진 참조 :

화살표 플롯 실선

  • 답변 # 1

    kwargs 의 열쇠  사전은 문자열이어야합니다. 코드에서 파이썬은 linestyle 라는 객체를 찾습니다.  존재하지 않습니다.

    kwargs = {'linestyle':'--'}
    
    

    불행히도, 행하는 것만으로는 원하는 효과를 얻을 수 없습니다. 선은 점선이지만 문제는 화살표가 닫힌 경로로 그려지고 대시가 서로 겹쳐져 효과가 취소된다는 것입니다. 더 두꺼운 화살표를 그려 점선을 볼 수 있습니다.

    ax = plt.axes()
    kwargs={'linestyle':'--', 'lw':2, 'width':0.05}
    ax.arrow(0, 0, 0.5, 0.5, head_width=0.05, head_length=0.1, **kwargs)
    
    

    단일 점선 화살표를 원하면 annotate 를 사용하여 더 간단한 화살표를 사용해야합니다

    ax = plt.axes()
    kwargs={'linestyle':'--', 'lw':2}
    ax.annotate("", xy=(0.5, 0.5), xytext=(0, 0),
        arrowprops=dict(arrowstyle="->", **kwargs))
    
    

  • 이전 vb.net - LINQ 요청으로 JSON 문자열에서 데이터 추출
  • 다음 R에서 kmeans에 대한 정적 중심 설정