Python Matplotlib: 如何在同一图片中清晰地显示多个饼状图
要将多个饼状图保存在一个图片里面并保持清晰,可以按照以下步骤进行操作:\n\n1. 创建一个包含多个子图的画布,可以使用plt.subplots()方法来创建。指定nrows和ncols参数来确定子图的行数和列数。\n \n fig, ax = plt.subplots(nrows=2, ncols=2)\n \n\n2. 在每个子图上绘制饼状图,并将数据和标签传递给plt.pie()函数。\n \n ax[0, 0].pie(data1, labels=labels1)\n ax[0, 1].pie(data2, labels=labels2)\n ...\n \n\n3. 调整每个子图的布局和样式,可以使用ax[i, j].set_...方法来设置子图的标题、标签等。\n \n ax[0, 0].set_title('Pie Chart 1')\n ax[0, 1].set_title('Pie Chart 2')\n ...\n \n\n4. 调整子图之间的间距,可以使用plt.subplots_adjust()方法来设置hspace和wspace参数,以调整水平和垂直间距。\n \n plt.subplots_adjust(hspace=0.5, wspace=0.5)\n \n\n5. 保存图片,可以使用plt.savefig()方法来保存图片。指定文件名和文件格式,同时设置dpi参数来调整保存图片的分辨率,使其更清晰。\n \n plt.savefig('pie_charts.png', dpi=300)\n \n\n完整的代码示例:\npython\nimport matplotlib.pyplot as plt\n\n# 数据和标签\ndata1 = [10, 20, 30, 40]\nlabels1 = ['A', 'B', 'C', 'D']\n\ndata2 = [50, 30, 10, 20]\nlabels2 = ['E', 'F', 'G', 'H']\n\n# 创建包含多个子图的画布\nfig, ax = plt.subplots(nrows=2, ncols=2)\n\n# 在每个子图上绘制饼状图\nax[0, 0].pie(data1, labels=labels1)\nax[0, 1].pie(data2, labels=labels2)\n\n# 调整子图的布局和样式\nax[0, 0].set_title('Pie Chart 1')\nax[0, 1].set_title('Pie Chart 2')\n\n# 调整子图之间的间距\nplt.subplots_adjust(hspace=0.5, wspace=0.5)\n\n# 保存图片\nplt.savefig('pie_charts.png', dpi=300)\n\n\n运行以上代码,将会生成一个名为pie_charts.png的图片文件,其中包含了两个饼状图,并且保持了较高的清晰度。
原文地址: https://www.cveoy.top/t/topic/pFZJ 著作权归作者所有。请勿转载和采集!