绘制饼图,表格填充并调整图例和表格位置

概述:添加表格

matplotlib 主要用途是绘图,但是他还是可以在绘图时帮助我们做一些其他事务,比如在图表旁边放置一个整齐的数据表格。我们必须明白为数据绘制可视化图形主主要是是为了解释那些不能理解的数据。将一些来自数据整体集合的总结性或者突出强调的值放在图表旁边可以更好的帮助我们理解数据

在 matplotlib 中有一个专门的模块 matplotlib.table 用于管理和表格相关事情,在 matplotlib.table 文件有 Cell、Table 两个类以及包装方法 table(),Table 类是一个由单元格组成的表格,(0, 0)位于表格的左上角。在实际使用中都是调用 pyplot.talbe() API 快速创建 Table 实例,这个方法的底层调用链是 pyplot.table() 

接下来介绍一下 matplotlib 的快速创建方法 pyploy.table()

# cellText:指定放入单元格的字符串
# cellColours:指定每个单元格的背景颜色
# cellLoc:指定单元格文本排版
# colWidths:指定列宽
# rowLabels:指定标题行文本
# rowColours:指定标题行颜色
# rowLoc:指定标题行排版
# cowLabels:指定标题列文本
# cowColours:指定标题列颜色
# cowLoc:指定标题列排版
# loc:指定表格相当于Axes对象的位置。
# bbox:指定表格的边界,可以是Bbox对象或者[xmin, ymin, width, height]
def table(  
        cellText=None, cellColours=None, cellLoc='right',  
        colWidths=None, rowLabels=None, rowColours=None,  
        rowLoc='left', colLabels=None, colColours=None,  
        colLoc='center', loc='bottom', bbox=None, edges='closed',  
        **kwargs):
        ...

示例实操

先导入所需的的模块

import matplotlib.pyplot as plt

设置中文

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

数据准备

kinds = ['面粉', '全麦粉', '酵母', '苹果酱', '鸡蛋', '黄油', '盐', '白糖']
weight = [250, 150, 4, 250, 50, 30, 4, 20]

绘制饼图

plt.pie(weight, autopct='%3.1f%%')

添加辅助元素

# 添加图例(通过bbox_to_anchor精细调整图例位置)
plt.legend(kinds, loc='upper right', bbox_to_anchor=[2.07, 0.7],ncol=4)  

图例函数legend()关键字参数主要有位置参数loc、线框位置bbox_to_anchor、图例标签内容的标题参数title
线框阴影shadow和线框圆角处理参数fancybox等。对于位置参数loc不仅可以使用字符串还可以使用字符串对应的数字,可以使用的其他位置参数值和可以使用的对应位置数值如表所示。

loc:位置参数值 

bbox_to_anchor:精细调整图例在整个绘图区域的位置

ncol:设置图例的列数,这里是四列

 添加表格

# 添加表格(通过bbox精细调整表格位置和大小)
plt.table(cellText=[weight],
          cellLoc='center',
          colLabels=kinds,rowLabels=['重量(g)'],loc='bottom',
          rowColours=['red'],
          colColours=['pink','pink','pink','pink','pink','pink','pink','pink'],
          cellColours=[['yellow','yellow','yellow','yellow','yellow','yellow','yellow','yellow']],
          bbox=[1.15,0.25,0.9,0.25])

cellText:表示表格单元格中的数据,是一个二维列表

cellLoc:表示单元格文本的对齐方式,支持‘left’、'right'、'center'、三种默认的是,默认值为'right' 

rowLabels: 表示行标题的文本

colLabels:表示列标题的文本

rowColours:表示行标题所在单元格的背景颜色

colColours:表示列标题所在单元格的背景颜色

cellColours:表示单元格的背景颜色

bbox:表示注释文本的边框属性字典 (x:0-1,y:0-1,width:表格宽度,height:表格高度)

展示图表

plt.show()

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一个使用C#和WinForms绘制的简单示例: 首先,你需要在Visual Studio中创建一个新的WinForms应用程序项目。然后,你需要添加一个Chart控件到窗体上。 接下来,你需要编写代码来填充和显示表。下面是一个简单的示例,其中包含一个按钮,点击该按钮会生成一个: ```csharp using System; using System.Collections.Generic; using System.Windows.Forms; using System.Windows.Forms.DataVisualization.Charting; namespace PieChartExample { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { // Create a new chart series Series series = new Series("My Series"); // Add some data to the series series.Points.AddXY("A", 25); series.Points.AddXY("B", 50); series.Points.AddXY("C", 75); series.Points.AddXY("D", 100); // Set the chart type to pie chart1.Series.Clear(); series.ChartType = SeriesChartType.Pie; chart1.Series.Add(series); // Set some additional chart properties chart1.Legends[0].Enabled = true; chart1.Titles[0].Text = "My Pie Chart"; } } } ``` 在上面的代码中,我们首先创建了一个新的Series对象,并将数据添加到它中。然后,我们将表类型设置为,并将Series对象添加到Chart控件中。最后,我们还设置了一些其他的表属性,例如启用图例和设置标题。 当用户单击按钮时,将会运行button1_Click事件处理程序,该处理程序将生成并显示。你可以根据需要修改事件处理程序,以便动态生成数据并显示更复杂的。 希望这可以帮助你开始使用C#和WinForms绘制

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值