플롯에 주석이 달린 히트 맵을 플롯하는 방법은 무엇입니까?

예쉬 완스 사이 차란

줄거리에서 주석이 달린 히트 맵을 만들려고합니다.

import plotly.plotly as py
import plotly.tools as tls
from plotly.graph_objs import *
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('masterc.csv')

locations = {}
anno = []

for i in range(df.shape[0]):
    locations.setdefault((df.iat[i,2],df.iat[i,6]),0)
    locations[(df.iat[i,2],df.iat[i,6])]+=df.iat[i,8]

x1 = []
y1 = []
z1 = []
z1_text = []

for key in locations.keys():
    if key[0] not in x1:
        x1 += [key[0],]
    if key[1] not in y1:
        y1 += [key[1],]



for y in y1:
    dummy = []
    for x in x1:
        if (x,y) in locations.keys():
            dummy += [locations[(x,y)],]
        else:
            dummy += [0,]
    z1 += [dummy,]

data = z1

arr = np.array(data)

fig, ax = plt.subplots()

ax.imshow(data, cmap='seismic')

for (i, j), z in np.ndenumerate(data):
    ax.text(j, i, '{:f}'.format(z), ha='center', va='center')

ax.set_xticklabels(x1, rotation=90)
ax.set_yticklabels(y1)

#plt.show()
py.plot_mpl(fig)

다음과 같은 경고가 표시됩니다.

Warning (from warnings module):
  File "C:\Python27\lib\site-packages\plotly\matplotlylib\renderer.py", line 394
    warnings.warn("Aw. Snap! You're gonna have to hold off on "
UserWarning: Aw. Snap! You're gonna have to hold off on the selfies for now. Plotly can't import images from matplotlib yet!

그리고 마지막으로 다음 오류

Traceback (most recent call last):
  File "E:\Project Kumbh\heatmap with annotations.py", line 58, in <module>
    py.plot_mpl(fig)
  File "C:\Python27\lib\site-packages\plotly\plotly\plotly.py", line 261, in plot_mpl
    return plot(fig, **plot_options)
  File "C:\Python27\lib\site-packages\plotly\plotly\plotly.py", line 155, in plot
    figure = tools.return_figure_from_figure_or_data(figure_or_data, validate)
  File "C:\Python27\lib\site-packages\plotly\tools.py", line 1409, in return_figure_from_figure_or_data
    if not figure['data']:
KeyError: 'data'

어쨌든이 오류를 피할 수 있습니까? 아니면 플롯에 주석이 달린 히트 맵을 만드는 간단한 방법이 있습니까?

엔지니어

편집하다

이제 쉽게 할 수 있습니다 plotly.figure_factory: https://plot.ly/python/annotated_heatmap/

내가 아는 한 Matplotlib의 히트 맵을 Plotly로 변환하는 것은 여전히 ​​불가능합니다.

2015 년 8 월 답변

다음은 python api로 주석이 달린 히트 맵을 만드는 예입니다.

import plotly.plotly as py
import plotly.graph_objs as go

x = ['A', 'B', 'C', 'D', 'E']
y = ['W', 'X', 'Y', 'Z']

#       x0    x1    x2    x3    x4
z = [[0.00, 0.00, 0.75, 0.75, 0.00],  # y0
     [0.00, 0.00, 0.75, 0.75, 0.00],  # y1
     [0.75, 0.75, 0.75, 0.75, 0.75],  # y2
     [0.00, 0.00, 0.00, 0.75, 0.00]]  # y3

annotations = go.Annotations()
for n, row in enumerate(z):
    for m, val in enumerate(row):
        annotations.append(go.Annotation(text=str(z[n][m]), x=x[m], y=y[n],
                                         xref='x1', yref='y1', showarrow=False))

colorscale = [[0, '#3D9970'], [1, '#001f3f']]  # custom colorscale
trace = go.Heatmap(x=x, y=y, z=z, colorscale=colorscale, showscale=False)

fig = go.Figure(data=go.Data([trace]))
fig['layout'].update(
    title="Annotated Heatmap",
    annotations=annotations,
    xaxis=go.XAxis(ticks='', side='top'),
    yaxis=go.YAxis(ticks='', ticksuffix='  '),  # ticksuffix is a workaround to add a bit of padding
    width=700,
    height=700,
    autosize=False
)
print py.plot(fig, filename='Stack Overflow 31756636', auto_open=False)  # https://plot.ly/~theengineear/5179

https://plot.ly/~theengineear/5179 의 결과

주석이 달린 히트 맵

관련 GitHub 문제 연결 : https://github.com/plotly/python-api/issues/273

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

플롯 주석이 달린 히트 맵에 간격을 도입 한 후 나타나는 수직선을 제거하려면 어떻게합니까?

분류에서Dev

Octave에서 플롯 데이터와 컬러 맵을 업데이트하는 방법은 무엇입니까?

분류에서Dev

Plotly : 주석이 달린 히트 맵에서 디스플레이 텍스트를 반올림하지만 마우스 오버시 전체 형식을 유지하는 방법은 무엇입니까?

분류에서Dev

플롯 : 애니메이션 히트 맵에서 전환 시간을 변경하는 방법은 무엇입니까?

분류에서Dev

Plotly : 히트 맵을 사용하여 주석이 달린 혼동 행렬을 만드는 방법은 무엇입니까?

분류에서Dev

R에서 히트 맵 플롯으로 3 열 데이터 프레임의 데이터를 플로팅하는 방법은 무엇입니까?

분류에서Dev

Plotly : scaleanchor = x 일 때 주석이 달린 히트 맵의 축 레이블을 조정하는 방법은 무엇입니까?

분류에서Dev

R에서 바이올린 플롯을 구성하는 방법은 무엇입니까?

분류에서Dev

Tkinter Canvas에서 matplotlib 서브 플롯을 업데이트하는 방법은 무엇입니까?

분류에서Dev

비닝 된 데이터로 R에서 퀼트 플롯을 생성하는 방법은 무엇입니까?

분류에서Dev

Tkinter 캔버스에서 플롯을 업데이트하는 방법은 무엇입니까?

분류에서Dev

트리 맵의 각 직사각형에 서브 플롯을 추가하는 방법은 무엇입니까?

분류에서Dev

semilogx 플롯에서 x = 0을 플롯하는 방법은 무엇입니까?

분류에서Dev

상호 작용 플롯 (`ggplot2`;`interactions`)의 개별 패싯에 텍스트에 주석을 추가하는 방법은 무엇입니까?

분류에서Dev

플롯 자체 외부의 점에 주석을 추가하는 방법은 무엇입니까?

분류에서Dev

R에서`plot_grid`를 사용하여 플롯 배열의 플롯 한 열의 플롯 여백을 줄이는 방법은 무엇입니까?

분류에서Dev

히트 맵에서 특정 셀에 주석을 추가하는 방법은 무엇입니까?

분류에서Dev

스택 플롯이 플롯을 반복하는 것을 방지하는 방법은 무엇입니까?

분류에서Dev

Seaborn 히트 맵의 대각선 요소에만 주석을 추가하는 방법은 무엇입니까?

분류에서Dev

Ubuntu에서 주석이 달린 PowerPoint 프레젠테이션을 보는 방법은 무엇입니까?

분류에서Dev

Ubuntu에서 주석이 달린 PowerPoint 프레젠테이션을 보는 방법은 무엇입니까?

분류에서Dev

같은 그림에서 다른 색으로`beta_1`의 두 트레이스 플롯을 플로팅하는 방법은 무엇입니까?

분류에서Dev

Seaborn 포인트 플롯에서 데이터 레이블을 얻는 방법은 무엇입니까?

분류에서Dev

속도 데이터 세트에서 벡터 플롯을 만드는 방법은 무엇입니까?

분류에서Dev

동일한 플롯을 두 번 이상 재사용하고 플롯하는 방법은 무엇입니까?

분류에서Dev

PCA 플롯 주위에 타원을 그리는 방법은 무엇입니까?

분류에서Dev

NetworkX 플롯을 실시간으로 업데이트하는 방법은 무엇입니까?

분류에서Dev

서브 플롯에서 플롯을 완전히 삭제하고 올바르게 크기를 조정하는 방법은 무엇입니까?

분류에서Dev

파이썬으로 나란히 게이지 차트를 플롯하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    플롯 주석이 달린 히트 맵에 간격을 도입 한 후 나타나는 수직선을 제거하려면 어떻게합니까?

  2. 2

    Octave에서 플롯 데이터와 컬러 맵을 업데이트하는 방법은 무엇입니까?

  3. 3

    Plotly : 주석이 달린 히트 맵에서 디스플레이 텍스트를 반올림하지만 마우스 오버시 전체 형식을 유지하는 방법은 무엇입니까?

  4. 4

    플롯 : 애니메이션 히트 맵에서 전환 시간을 변경하는 방법은 무엇입니까?

  5. 5

    Plotly : 히트 맵을 사용하여 주석이 달린 혼동 행렬을 만드는 방법은 무엇입니까?

  6. 6

    R에서 히트 맵 플롯으로 3 열 데이터 프레임의 데이터를 플로팅하는 방법은 무엇입니까?

  7. 7

    Plotly : scaleanchor = x 일 때 주석이 달린 히트 맵의 축 레이블을 조정하는 방법은 무엇입니까?

  8. 8

    R에서 바이올린 플롯을 구성하는 방법은 무엇입니까?

  9. 9

    Tkinter Canvas에서 matplotlib 서브 플롯을 업데이트하는 방법은 무엇입니까?

  10. 10

    비닝 된 데이터로 R에서 퀼트 플롯을 생성하는 방법은 무엇입니까?

  11. 11

    Tkinter 캔버스에서 플롯을 업데이트하는 방법은 무엇입니까?

  12. 12

    트리 맵의 각 직사각형에 서브 플롯을 추가하는 방법은 무엇입니까?

  13. 13

    semilogx 플롯에서 x = 0을 플롯하는 방법은 무엇입니까?

  14. 14

    상호 작용 플롯 (`ggplot2`;`interactions`)의 개별 패싯에 텍스트에 주석을 추가하는 방법은 무엇입니까?

  15. 15

    플롯 자체 외부의 점에 주석을 추가하는 방법은 무엇입니까?

  16. 16

    R에서`plot_grid`를 사용하여 플롯 배열의 플롯 한 열의 플롯 여백을 줄이는 방법은 무엇입니까?

  17. 17

    히트 맵에서 특정 셀에 주석을 추가하는 방법은 무엇입니까?

  18. 18

    스택 플롯이 플롯을 반복하는 것을 방지하는 방법은 무엇입니까?

  19. 19

    Seaborn 히트 맵의 대각선 요소에만 주석을 추가하는 방법은 무엇입니까?

  20. 20

    Ubuntu에서 주석이 달린 PowerPoint 프레젠테이션을 보는 방법은 무엇입니까?

  21. 21

    Ubuntu에서 주석이 달린 PowerPoint 프레젠테이션을 보는 방법은 무엇입니까?

  22. 22

    같은 그림에서 다른 색으로`beta_1`의 두 트레이스 플롯을 플로팅하는 방법은 무엇입니까?

  23. 23

    Seaborn 포인트 플롯에서 데이터 레이블을 얻는 방법은 무엇입니까?

  24. 24

    속도 데이터 세트에서 벡터 플롯을 만드는 방법은 무엇입니까?

  25. 25

    동일한 플롯을 두 번 이상 재사용하고 플롯하는 방법은 무엇입니까?

  26. 26

    PCA 플롯 주위에 타원을 그리는 방법은 무엇입니까?

  27. 27

    NetworkX 플롯을 실시간으로 업데이트하는 방법은 무엇입니까?

  28. 28

    서브 플롯에서 플롯을 완전히 삭제하고 올바르게 크기를 조정하는 방법은 무엇입니까?

  29. 29

    파이썬으로 나란히 게이지 차트를 플롯하는 방법은 무엇입니까?

뜨겁다태그

보관