में हीटमैप स्क्वायर कैसे बनाएं I Seaborn के FacetGrid
कक्षा का उपयोग कर रहे हैं ताकि heatmap
फ़ंक्शन का उपयोग करके मैट्रिस का एक सेट प्लॉट किया जा सके। हालांकि, मैं इन सबप्लॉट्स के पहलू अनुपात को समायोजित नहीं कर सकता।Seaborn FacetGrid
import seaborn as sns
import numpy as np
import pandas as pd
# Generate a set of sample data
np.random.seed(0)
indices = pd.MultiIndex.from_product((range(5), range(5), range(5)), names=('label0', 'label1', 'label2'))
data = pd.DataFrame(np.random.uniform(0, 100, size=len(indices)), index=indices, columns=('value',)).reset_index()
def draw_heatmap(*args, **kwargs):
data = kwargs.pop('data')
d = data.pivot(index=args[1], columns=args[0], values=args[2])
sns.heatmap(d, **kwargs)
fg = sns.FacetGrid(data, col='label0')
fg.map_dataframe(draw_heatmap, 'label1', 'label2', 'value', cbar=False)
कि इस छवि का उत्पादन:
सूचना कैसे मैट्रिक्स भूखंडों के तत्वों, आयताकार हैं बल्कि वर्ग की तुलना में यहाँ एक उदाहरण है। अगर मैं एक साजिश बना रहा था (FacetGrid
के बिना), तो मैं साजिश वर्ग बनाने के लिए विकल्प square=True
sns.heatmap
पर जा सकता था। हालांकि, अगर मैं map_dataframe
को बहस में है कि डाल, मैं इस परिणाम मिलता है:
fg = sns.FacetGrid(data, col='label0')
fg.map_dataframe(draw_heatmap, 'label1', 'label2', 'value', cbar=False, square=True)
ऐसा लगता है कि कुल्हाड़ियों, डेटा लिए बहुत बड़े हैं और भी FacetGrid
के लिए डिफ़ॉल्ट पहलू अनुपात हालांकि 1 है। (और को स्पष्ट रूप से FacetGrid
बनाने में मदद नहीं करता है।)
क्या इसे ठीक करने का कोई तरीका है?
आप सवाल अनजाने मेरे सवाल का हल! (गर्मी के ग्रिड बनाने के लिए कैसे)। – anthonybell