2013-03-20 4 views
8

मैं इस तरह pyplot के साथ एक मेज ड्राइंग हूँ:matplotlib.pyplot के साथ तालिका के फ़ॉन्ट्स को कैसे बदलें?

sub_axes.table(cellText=table_vals, 
      colWidths = [0.15, 0.25], 
      rowLabels=row_labels, 
      loc='right') 

मैं तालिका की सामग्री की fontsize बदलना चाहते हैं, और पाया एक fontsize संपत्ति, रेफरी definition of 'table' कृपया है।

तो यह हो जाता है:

sub_axes.table(cellText=table_vals, 
      colWidths = [0.15, 0.25], 
      rowLabels=row_labels, 
      fontsize=12, 
      loc='right') 

लेकिन जब मैं कोड निष्पादित, मैं एक त्रुटि मिली:

TypeError: table() got an unexpected keyword argument 'fontsize' 

इस संपत्ति पदावनत है? और मैं pyplot के साथ तालिका के fontsize कैसे बदल सकते हैं?

+0

यह एक संपत्ति लेकिन तालिका निर्माता के लिए नहीं एक कीवर्ड तर्क है। 't = sub_axes.table (...)' t'fontsize = 12' – jozzas

उत्तर

17

मुझे लगता है कि प्रलेखन या तो पैरामीटर-टू-बी पर संकेत दे रहा है (नोटिस fontsize अन्य पैरामीटर की तरह एक लिंक नहीं है) या शायद इस समय थोड़ा भ्रामक है। कोई पैरामीटर नहीं है। एक निहायत अतिरंजित fontsize साथ

table = sub_axes.table(cellText=table_vals, 
         colWidths = [0.15, 0.25], 
         rowLabels=row_labels, 
         loc='right') 
table.set_fontsize(14) 
the_table.scale(1.5, 1.5) # may help 

यहाँ एक उदाहरण है सिर्फ प्रभाव को दिखाने के लिए:

the source code के माध्यम से खुदाई, मैं Table.set_fontsize विधि पाया।

import matplotlib.pyplot as plt 
# Based on http://stackoverflow.com/a/8531491/190597 (Andrey Sobolev) 

fig = plt.figure() 
ax = fig.add_subplot(111) 
y = [1, 2, 3, 4, 5, 4, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1]  
col_labels = ['col1', 'col2', 'col3'] 
row_labels = ['row1', 'row2', 'row3'] 
table_vals = [[11, 12, 13], [21, 22, 23], [31, 32, 33]] 

the_table = plt.table(cellText=table_vals, 
         colWidths=[0.1] * 3, 
         rowLabels=row_labels, 
         colLabels=col_labels, 
         loc='center right') 
the_table.set_fontsize(24) 
the_table.scale(2, 2) 

plt.plot(y) 
plt.show() 

enter image description here

+15

करने के लिए प्रयास करने के लिए, मुझे नए फ़ॉन्ट आकार को सेट करने से पहले 'the_table.auto_set_font_size (झूठा) 'जोड़ना पड़ा –

9

auto_set_font_size को False सेट करें, फिर set_fontsize(24)

the_table.auto_set_font_size(False) 
the_table.set_fontsize(24) 
संबंधित मुद्दे