2017-02-20 23 views
3

У меня есть круговая диаграмма с выровненной названием слева:Как я могу выровнять круговую диаграмму Python Matplotlib?

import matplotlib.pyplot as plt 

# Pie chart, where the slices will be ordered and plotted counter-clockwise: 
sizes = [15, 30, 45, 10] 

fig1, ax1 = plt.subplots() 
ax1.pie(sizes, autopct='%1.1f%%', startangle=90) 
ax1.axis('equal') 
ax1.set_title('Pie Title', loc='left') 

plt.tight_layout() 
plt.savefig(r'C:\images\pie.png', bbox_inches='tight') 

И этот код производит это изображение:

Pie Chart

Но есть слишком много пустого пространства вокруг круговой диаграммы. Как я могу оставить выравнивание заголовка и круговой диаграммы и обрезать ненужные пробелы?

Left Align Pie Chart

+0

Почему бы не сосредоточиться на своем названии? – Suever

ответ

0

Я не думаю, что вы можете двигаться set_title другими способами, чем центр, влево или вправо. Что вы можете сделать вместо этого добавлять текст, как это:

ax1.text(-0.8, 1, 'Pie Title') 

Смотрите документацию здесь о том, как изменить шрифт и так далее: http://matplotlib.org/users/text_props.html

0

Вы можете начать с квадратной фигуры, например, figsize=(4,4).
Затем вы можете добавить некоторые пробелы, чтобы выровнять заголовок.

import matplotlib.pyplot as plt 

sizes = [15, 30, 45, 10] 

fig1, ax1 = plt.subplots(figsize=(4,4)) 
ax1.pie(sizes, autopct='%1.1f%%', startangle=90) 
ax1.axis('equal') 
ax1.set_title(' Pie Title', loc='left') 

plt.tight_layout() 
plt.savefig(__file__+"pie.png", bbox_inches='tight') 
plt.show() 

enter image description here

Если этого не достаточно пробельные зазор, вы можете играть с subplots_adjust, как plt.subplots_adjust(bottom=0, top=0.93, left=0.0, right=1).