मैं pandas.DataFrame
दिखाने के लिए matplotlib के imshow()
फ़ंक्शन का उपयोग कर रहा हूं।पांडा, matplotlib, डेटा फ्रेम इंडेक्स अक्ष अक्ष टिक लेबल के रूप में उपयोग करें
मैं डेटाफ्रेम.इंडेक्स और डेटाफ्रेम.columns सूचियों से एक्स और वाई अक्ष दोनों के लिए लेबल और टिकों को लेना चाहता हूं, लेकिन मैं यह नहीं समझ सकता कि इसे कैसे किया जाए।
कि data
मान लिया जाये कि एक pandas.DataFrame
है:
>>> print data
<class 'pandas.core.frame.DataFrame'>
Index: 201 entries, 1901 to 2101
Data columns:
jan 201 non-null values
feb 201 non-null values
mar 201 non-null values
apr 201 non-null values
may 201 non-null values
jun 201 non-null values
jul 201 non-null values
aug 201 non-null values
sep 201 non-null values
oct 201 non-null values
nov 201 non-null values
dec 201 non-null values
जब मैं यह कर:
ax1 = fig.add_subplot(131, xticklabels=data.columns, yticklabels=data.index)
ax1.set_title("A")
ax1.tick_params(axis='both', direction='out')
im1 = ax1.imshow(data,
interpolation='nearest',
aspect='auto',
cmap=cmap)
मैं छवि के y अक्ष पर अच्छी तरह से स्थान दिया गया टिक लेबल के साथ खत्म हो, लेकिन लेबल हैं 2101 के माध्यम से 1 9 01 के बजाय 1 901-1906. इसी प्रकार, एक्स अक्ष टिक लेबल जन-डीक के बजाय फेब-जुल हैं।
अगर मैं
ax1 = fig.add_subplot(131) # without specifying tick labels
का उपयोग तब मैं अक्ष टिक लेबल बस अंतर्निहित ndarray सूचक मान (अर्थात 0-201 और 0-12) होने के साथ खत्म। मुझे रिक्तियों या टिकों और लेबलों की मात्रा को संशोधित करने की आवश्यकता नहीं है, मैं बस लेबल टेक्स्ट को डेटाफ्रेम इंडेक्स और कॉलम सूचियों से आना चाहता हूं। यकीन नहीं है कि अगर मुझे कुछ आसान याद आ रहा है या नहीं?
अग्रिम धन्यवाद।
यह सबसे सामान्य समाधान है - डेटटाइम हैक्स इत्यादि की कोई आवश्यकता नहीं है। – FuzzyDuck