python如何为饼图添加标题_python – Matplotlib子图标题,图标题格式
我將如何格式化下面的餅圖子圖,以便在圖標題和子圖標題之間有更多的空白區域.理想情況下,子圖標題也會更接近實際的餅圖本身.
我似乎無法在文檔中找到任何可能啟用此功能的內容,但我是matplotlib的新手.
import matplotlib.pyplot as plt
import pandas as pd
from pandas import DataFrame, Series
m = {"Men" : {"Yes": 2, "No": 8}}
w = {"Women": {"Yes": 3, "No": 7}}
data = {**m, **w}
df = DataFrame(data)
fig, axes = plt.subplots(1, len(df.columns))
fig.suptitle("Would you prefer to work from home?", fontsize=18)
logging.debug("fig.axes: {}".format(fig.axes))
for i, ax in enumerate(fig.axes):
col = df.ix[:, i]
ax = fig.axes[i]
pcnt_col = col / col.sum() * 100
ax.set_title("{} (n={})".format(pcnt_col.name, col.sum()))
ax.pie(pcnt_col.values, labels=pcnt_col.index,
autopct="%1.1f%%", startangle=90)
ax.axis("equal")
plt.legend(loc="lower right", title="Answer", fancybox=True,
ncol=1, shadow=True)
plt.show()
解決方法:
使用subplots_adjust將兩者分開
plt.subplots_adjust(top=0.75)
import matplotlib.pyplot as plt
import pandas as pd
from pandas import DataFrame, Series
m = {"Men" : {"Yes": 2, "No": 8}}
w = {"Women": {"Yes": 3, "No": 7}}
data = {**m, **w}
df = DataFrame(data)
fig, axes = plt.subplots(1, len(df.columns))
fig.suptitle("Would you prefer to work from home?", fontsize=18)
logging.debug("fig.axes: {}".format(fig.axes))
for i, ax in enumerate(fig.axes):
col = df.ix[:, i]
ax = fig.axes[i]
pcnt_col = col / col.sum() * 100
ax.set_title("{} (n={})".format(pcnt_col.name, col.sum()))
ax.pie(pcnt_col.values, labels=pcnt_col.index,
autopct="%1.1f%%", startangle=90)
ax.axis("equal")
plt.legend(loc="lower right", title="Answer", fancybox=True,
ncol=1, shadow=True)
plt.subplots_adjust(top=0.55)
plt.show()
標簽:python,matplotlib
總結
以上是生活随笔為你收集整理的python如何为饼图添加标题_python – Matplotlib子图标题,图标题格式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: idea代码可以编译但是爆红_推荐一款
- 下一篇: 非线性动力学_非线性科学中的现代数学方法