在教育统计分析中运用ExcelVBA自动生成个性化图表
如何在Excel中使用宏实现数据报表自动生成

如何在Excel中使用宏实现数据报表自动生成Excel是一个广泛使用的电子表格软件,它可以进行各种数据处理和统计分析。
而在处理大量数据时,人工操作会显得繁琐和低效,这时候就需要利用Excel的宏功能来实现数据报表的自动生成。
本文将介绍如何在Excel中使用宏来实现数据报表的自动化生成。
一、宏的概念宏是一种用于自动执行一系列任务的程序代码。
在Excel中,我们可以使用VBA(Visual Basic for Applications)语言编写宏。
VBA是一种类似于VB(Visual Basic)的编程语言,它可以直接嵌入到Excel中,并通过宏命令来调用。
通过编写宏,我们可以实现自动化处理数据、生成图表和报表等功能。
二、录制宏在Excel中,我们可以通过录制宏的方式来生成宏代码。
录制宏是指将我们手工操作的步骤一一记录下来,并将其转化为VBA代码。
接下来,我们将通过一个示例来详细介绍录制宏的步骤。
1. 打开Excel,并选择“开发工具”选项卡。
2. 点击“录制宏”按钮,弹出“录制宏”对话框。
3. 在“宏名”文本框中输入宏的名称,然后点击“确定”。
4. 开始进行手工操作,如输入数据、设置格式、进行计算等。
5. 完成操作后,点击“停止录制”按钮,录制宏结束。
三、运行宏录制宏之后,我们可以通过运行宏来实现相同的操作。
在Excel中,有多种方式可以运行宏。
1. 快捷键运行。
可以通过设置快捷键来运行宏。
首先,选择“文件”→“选项”→“快捷方式”选项卡,在“当前快捷方式中”选择“宏”,然后指定一个快捷键,点击“确定”即可。
2. 工具栏按钮运行。
可以将宏添加到快速访问工具栏或自定义工具栏中,以便于使用。
选择“文件”→“选项”→“自定义功能区”选项卡,点击“新建”,在“新建选项卡”下添加一个新的组,在该组下添加一个新的命令,将类型设置为“宏”,选择相应的宏,最后点击“确定”。
四、实现数据报表的自动生成在Excel中,我们可以利用宏来实现数据报表的自动生成。
VBA编写自动化图表生成的技巧与实际案例分享

VBA编写自动化图表生成的技巧与实际案例分享随着数据分析和可视化在各个领域的重要性不断提升,自动化生成图表的需求也越来越多。
VBA(Visual Basic for Applications)作为一种强大的宏语言,可以在Microsoft Office套件中实现自动化操作,包括Excel等常用的办公软件。
在本文中,我们将探讨一些VBA编写自动化图表生成的技巧,并分享一些实际案例,帮助读者更好地了解和应用这一技术。
首先,让我们看一下VBA编写自动化图表的技巧。
以下是一些常用的技巧和函数,可以帮助你快速生成自动化图表:1. 使用宏录制功能:Excel的宏录制功能可以帮助我们记录下我们手动操作图表的步骤,然后将其转化为一段VBA代码。
这样,我们就能够重复运行这段代码,实现自动生成图表。
2. Range对象和Chart对象:使用VBA编写图表时,我们需要使用Range对象来选择要绘制图表的数据范围,然后使用Chart对象来创建和操作图表。
通过使用这两个对象,我们可以进行数据处理、样式设置和布局调整等操作。
3. 使用循环:循环结构是实现自动化图表生成的关键。
我们可以使用循环来遍历数据并生成多个图表,从而避免手动重复操作。
常用的循环结构包括For、While和Do循环。
4. 数据处理和转换:在绘制图表之前,我们可能需要对数据进行一些处理和转换。
例如,计算总和、平均值或百分比,删除重复数据,或者将数据从一种格式转换为另一种格式。
在VBA中,我们可以使用各种函数和方法来完成这些任务。
接下来,让我们通过一些实际案例来演示VBA编写自动化图表的应用:案例一:销售数据可视化假设我们有一个包含销售数据的Excel表格,其中包括产品名称、销售额、日期等信息。
我们希望使用VBA自动化生成柱状图,以展示每个产品的销售额变化趋势。
首先,我们可以使用VBA代码选择销售数据的范围,并创建一个柱状图对象。
然后,使用循环结构遍历每个产品的数据,将其添加到图表中。
如何使用Excel的VBA编程进行自定义功能开发和自动化任务处理和报表生成

如何使用Excel的VBA编程进行自定义功能开发和自动化任务处理和报表生成Excel的VBA编程是一种强大的工具,可以帮助用户开发自定义功能、处理自动化任务以及生成报表。
本文将介绍如何使用Excel的VBA编程进行这些操作。
下载并安装Excel VBA插件在开始之前,需要先下载并安装Excel VBA插件。
这个插件可以让用户在Excel中编写和运行VBA代码。
用户可以从微软官网或其他可信的来源下载这个插件,并按照说明进行安装。
了解VBA编辑器安装完Excel VBA插件后,用户可以打开Excel,并通过按下“Alt+F11”键来打开VBA编辑器。
VBA编辑器是一个集成开发环境(IDE),可以用于编写、测试和调试VBA代码。
编写VBA代码用户可以在VBA编辑器中编写自己的VBA代码。
VBA代码可以用于实现各种功能,如自定义按钮、自动计算、数据分析等。
以下是一个简单的示例代码:Sub AddNumbers()Dim num1 As IntegerDim num2 As IntegerDim sum As Integernum1 = InputBox("请输入第一个数字")num2 = InputBox("请输入第二个数字")sum = num1 + num2MsgBox "两个数字的和为:" & sumEnd Sub以上代码使用了VBA中的变量、输入框和消息框。
用户可以将代码复制到VBA编辑器中,并通过按下“F5”键或点击工具栏上的“运行”按钮来运行代码。
创建自定义功能按钮要在Excel中创建一个自定义功能按钮,用户需要先打开“开发者”选项卡。
如果用户在Ribbon上找不到“开发者”选项卡,可以按下“Alt+F11”键打开VBA编辑器,然后点击“工具”->“选项”->“显示”选项卡,在“常规”选项卡下勾选“显示“开发者“选项卡”并点击“确定”。
VBA实现Excel图表自动生成和更新的实例演示

VBA实现Excel图表自动生成和更新的实例演示Excel是一款功能强大的办公软件,它不仅可以进行数据输入和计算,还可以用于数据可视化。
图表是一种直观、易于理解的数据展示方式,能够帮助我们更好地分析和理解数据。
然而,手动创建和更新图表是一项繁琐而耗时的任务。
在本文中,将介绍如何使用VBA代码实现Excel图表的自动生成和更新,让你的工作更加高效和便捷。
首先,我们需要在Excel中创建一个空白工作表,并将需要生成图表的数据输入到工作表的指定位置。
在本例中,假设我们有一份销售数据,分别记录了销售量和销售额,并将其输入到A1:B6的单元格范围内。
接下来,我们将打开VBA编辑器,通过按下`Alt+F11`快捷键或在菜单栏中选择“开发工具”>“Visual Basic”来实现。
在VBA编辑器中,我们需要创建一个新的模块,通过右键点击VBA项目,选择“插入”>“模块”来创建。
在新创建的模块中,我们将编写用于生成和更新图表的VBA代码。
首先,我们需要定义一个子过程,用于生成图表。
以下是一个示例的VBA代码:```vbaSub GenerateChart()Dim ws As WorksheetDim rng As RangeDim cht As Chart' 设置工作表和数据范围Set ws = ThisWorkbook.Worksheets("Sheet1")Set rng = ws.Range("A1:B6")' 创建图表Set cht = ws.Shapes.AddChart2(240, xlColumnClustered).Chart With cht' 设置图表数据源和类型.SetSourceData rng.ChartType = xlColumnClustered' 设置图表的标题和轴标签.HasTitle = True.ChartTitle.Text = "销售数据".Axes(xlCategory).HasTitle = True.Axes(xlCategory).AxisTitle.Text = "月份".Axes(xlValue).HasTitle = True.Axes(xlValue).AxisTitle.Text = "数量/金额"' 设置数据系列的名称.SeriesCollection(1).Name = "销售量".SeriesCollection(2).Name = "销售额"End WithEnd Sub```在上述代码中,我们首先声明了一些变量。
VBA中的图表生成和数据分析技巧

VBA中的图表生成和数据分析技巧在Excel的VBA编程中,图表的生成和数据分析是非常重要的任务。
通过使用VBA,我们可以自动化地生成各种类型的图表,并对数据进行深入的分析。
本文将介绍一些常用的VBA技巧,帮助您更好地进行图表生成和数据分析。
1. 图表生成技巧在VBA中,您可以使用ChartObjects对象和ChartObject对象来生成和操作图表。
下面是一些常用的图表生成技巧:1.1 生成图表使用ChartObjects.Add方法可以生成一个新的图表。
例如,以下代码将在活动工作表上生成一个柱状图:```Dim chtObj As ChartObjectSet chtObj = ActiveSheet.ChartObjects.Add(Left:=100, Width:=400,Top:=100, Height:=300)chtObj.Chart.ChartType = xlColumnClustered```1.2 设置图表数据源使用SetSourceData方法可以设置图表的数据源。
例如,以下代码将设置图表的数据范围为A1:B10:Dim rngData As RangeSet rngData = Range("A1:B10")chtObj.Chart.SetSourceData Source:=rngData```1.3 修改图表类型可以使用ChartType属性来修改图表的类型。
例如,以下代码将将图表的类型修改为折线图:```chtObj.Chart.ChartType = xlLine```2. 数据分析技巧VBA不仅可以生成图表,还可以对数据进行深入的分析。
以下是一些常用的数据分析技巧:2.1 计算平均值使用Average函数可以计算一组数据的平均值。
例如,以下代码将计算A1:A10范围内数据的平均值,并将结果输出到B1单元格:```Range("B1").Value = WorksheetFunction.Average(Range("A1:A10"))2.2 寻找最大值和最小值使用Max和Min函数可以分别找到一组数据的最大值和最小值。
利用VBA生成自定义的报表

利用VBA生成自定义的报表在现代工作场景中,生成准确、可读性好的报表对于管理决策和业务分析至关重要。
为了提高工作效率,许多公司和组织利用计算机软件来自动生成各种类型的报表。
而利用VBA(Visual Basic for Applications)编程语言可以为Excel等办公软件添加自定义功能,从而帮助我们生成专业、个性化的报表。
VBA是一种强大的编程语言,它可以与Excel等Microsoft Office软件紧密结合,方便用户通过编写脚本自动化完成各种重复性工作。
接下来,我将为您介绍如何利用VBA生成自定义的报表。
首先,我们需要打开Excel并启用开发者选项。
方法是点击“文件”选项卡,选择“选项”,在弹出的对话框中选择“自定义功能区”和“开发者”,然后点击“确认”。
接下来,我们需要创建一个宏来生成报表。
请注意,以下示例中的代码仅用于演示目的,实际使用时可能需要根据具体需求进行修改。
``` VBASub Generate_Report()'声明变量Dim ws As WorksheetDim rng As RangeDim i As Integer'设置报表工作表Set ws = ThisWorkbook.Sheets("报表")'清除原有数据ws.Cells.Clear'设置报表标题ws.Cells(1, 1) = "销售报表"'设置列标题ws.Cells(3, 1) = "序号"ws.Cells(3, 2) = "产品名称"ws.Cells(3, 3) = "销售额"'设置数据Set rng = ws.Range("A4")For i = 1 To 10rng.Offset(i, 0) = irng.Offset(i, 1) = "产品" & irng.Offset(i, 2) = i * 1000Next i'设置格式ws.Range("A1:C1").Font.Bold = True ws.Range("A3:C3").Font.Bold = True '自动调整列宽ws.Columns.AutoFit'显示报表ws.ActivateEnd Sub```在以上代码中,我们首先声明了一些变量,包括一个代表报表工作表的`ws`、一个代表数据区域的`rng`和一个用于循环的计数器`i`。
在教育统计分析中运用ExcelVBA自动生成个性化图表

对应 n 倍个点。
(2)画文本框
画出表示成绩离散度的 “盒子”, 设定盒子的高
度、颜色,画矩形背景等。
可通过 Shapes.AddTextbox 方法 ,创建文本框来
实现。
语 法 : 表 达 式 .AddTextbox (Orientation, Left, Top,
Width, Height)
其中参数分别表示文本框的方向,文本框左上角
目前,Excel 已被广泛运用到教育管理、教育研究 中,掌握图表制作方法已成为必修内容。 然而,在教育 统计管理中,有时我们还希望用自己独特的方式解读 数据,让个性化图表呈现变化趋势,从而突显数据中 的重要信息。 本文首先介绍通过手动操作的方法制作 Excel 图表,继而通过 VBA 编程生成系统中固定格式 图表,最后重点介绍运用 Excel VBA 自动生成个性化 图表,为教育管理、研究服务。
三、运用 Excel VBA 自动生成个性化图表 Excel 虽 然 可 以 生 成 多 种 类 型 的 图 表 , 但 这 些 图 表 的 格 式 在 Excel 系 统 中 是 固 定 的 。 在 教 育 管 理、研究中,有时我们还希望用自己独特的方式解 读数据,让个性化图表突显数据中的重要信息。 那 么,怎样才能实现这样的功能呢? 下面以制作“盒式图”为例,介绍如何制作个 性化图表。 在教育测量中, 我们常用盒式图简洁反映成 绩离散程度。 将所有学生的总分从低到高排列,最 下面的短线则表示约有 5%的学生得分低于此线 对应的分数,最上面的短线表示约有 5%的学生得 分高于此线对应的分数。 方框上边线、中间线和下 边 线 对 应 的 分 数 分 别 表 示 约 有 25% 、50% 、75% 的 学生得分高于此线对应的分数。 盒式图的中间线 描述了学生平均成绩的水平高低, 盒式图中矩形 盒子的高度从一定程度上很直观地描述了学生成 绩离散程度的大小, 为教育管理提供了便捷的观 察手段。 我们从图 3 可以很直观地看出,学校甲的成 绩较好。 学校丙的总均分(图中“圆点”)虽然比 学校乙高一些,但学校丙的学生两极分化(上下 短线) 比较严重。 图表提示我们要尽快采取措 施,防止两极分化。 不难看出, 图 3 中的主要组成元素是 “点”、 “线段”。 下面介绍制作这样个性化图表的设计思 路及程序代码。
VBA实现Excel的图表自动生成

VBA实现Excel的图表自动生成Excel是微软公司推出的一款功能强大的办公软件,无论在日常工作还是个人生活中,都离不开它的应用。
其中,图表的使用在数据分析和呈现方面尤为重要。
然而,手动创建和调整图表可能是一项繁琐的任务,尤其是在处理大量数据时。
通过使用Visual Basic for Applications(简称VBA),我们可以自动化图表的生成过程,大大提高工作效率。
本文将带您深入理解VBA实现Excel的图表自动生成。
首先,我们需要了解VBA是什么以及它在Excel中的应用。
VBA是一种宏语言,它可以与Excel以及其他Office应用程序进行交互。
通过编写VBA代码,我们可以实现对Excel应用的自定义控制,包括创建、修改和删除工作表、单元格内容的读写、图表的生成和格式化等。
在VBA中,我们可以使用Worksheet对象和Chart对象来控制Excel中的工作表和图表。
首先,通过创建一个Worksheet对象,我们可以选择或创建一个工作表来存储我们的数据和图表。
接下来,通过使用ChartObjects.Add方法,我们可以在工作表中插入一个新图表。
通过设置Chart对象的属性,我们可以自定义图表的类型、样式、数据源等。
然后,通过向Chart对象的SeriesCollection集合中添加数据系列,我们可以定义图表的数据。
最后,通过设置Axis对象的属性,我们可以调整图表的坐标轴刻度、标签等。
通过这样一系列的操作,我们可以轻松生成一个符合我们需求的图表。
在VBA中自动生成图表的过程主要包括以下几个步骤:1. 选择或创建一个工作表来存储数据和图表。
在VBA中,可以使用Worksheets对象的Add方法来新建一个工作表,使用Activate方法来激活一个已有的工作表。
2. 插入一个新图表。
可以使用ChartObjects对象的Add方法,在当前工作表中插入一个新的图表对象。
3. 设置图表的基本属性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
69 The Chinese Journal of ICT in Education
应 用 技术应用
《中国教育信息化》编辑部:mis@
1.通过 VBA 程序统
计考试成绩,如图 3 上方
表格数据所示
2. 生成个性化图表
时,有关“基本元素”的实
现方法
(1)画线段
通 过 VBA 程 序 , 画
管理中,有时我们还希望用独特的方式解读数据,让个性化图表突显数据中的重要信息。为此,文章
首先介绍通过手动操作的方法制作 Excel 图表,继而通过 VBA 编程,生成系统中具有固定格式的图
表,最后重点介绍运用 Excel VBA 自动生成个性化图表,为教育管理、研究服务。
关键词:统计分析;自动生成;个性化图表
自动生成下方的图
表。 )
‘本示列,变量
图2
n 首 行 、n 首 列 、n
尾行、n 尾列,分别表示表格 存 放 的 起 始 、终 止 位 置 ;
变量 c 区域,表示选择区域。
n 首行 = 1
n 首列 = 1
n 尾列 = 2
n 尾行 = 1
Do While ActiveSheet.Cells (n 尾 行 , 1).Value <>
出表示“分数段”的虚线、
上下两短线、 垂直线段
等。
可 通 过 Shapes.Ad-
图3
dLine 方法来实现, 用它
来画线条。
语 法 : 表 达 式.AddLine (BeginX, BeginY, EndX,
EndY)
其中参数分别表示线条的起点、终点坐标。
线条的间距和分数值大小的关系是:1 分数的值
Do While ActiveSheet.Cells(m, 1).Value <> ""
If n95 最 值 < ActiveSheet.Cells (m, 4).Value
Then
n95 最值 = ActiveSheet.Cells(m, 4).Value
End If
If n 后 5 > ActiveSheet.Cells(m, 6).Value Then
(1, 5, t 顶 - 30, w 宽 + 80, h 高 + 20).Line .DashStyle = msoLineSolid ' 直线。 .Weight = 1 .ForeColor.RGB = RGB(255, 255, 255) .BackColor.RGB = RGB(255, 255, 255) End With With ActiveSheet.Shapes.AddTextbox _ (1, l 左, t 顶, w 宽, h 高).Line ' 背景矩形 2 .DashStyle = msoLineSolid ' 直线。 .Weight = 0.5 .ForeColor.RGB = RGB(100, 100, 25) End With With ActiveSheet.Shapes.AddTextbox (1, l 左 + 5, t 顶 + 5, w 宽 - 40, 22) .TextFrame.Characters.Text = c 学科名 & " ( 试 卷满分: " & Trim(Str(n 满分)) & " )" .TextFrame.Characters(1, 200).Font.Bold = True .TextFrame.Characters(1, 200).Font.Color = RGB (0, 0, 255) .TextFrame.AutoSize = True .Line.ForeColor.RGB = RGB(255, 255, 255) .Line.BackColor.RGB = RGB(255, 255, 255) End With
n 后 5 = ActiveSheet.Cells(m, 6).Value
End If
m=m+1
Loop
n 尾行 = m - 1
n95 最值 = (Int(n95 最值 / 10) + 1) * 10
n 倍 = 3 ' 可根据需要设定盒式图高度的倍数
n 间 距 = n 倍 * 10 ' 数 据 标 志 线 的 上 下 间 隔 间
表上创建图表
ActiveChart.SetSourceData Source:=Range(c 区域),
PlotBy:=2
'PlotBy 值为 1 、2 时, 数据系列分别表 示 在 列 、
行。
ActiveChart.ChartType = xlColumnClustered ' 图表 类型为簇状柱形图
据), 并拖拉选取要
生成图表的数据区。
(2) 单 击 “ 插 入 ”
菜单,在选项卡上选
择“柱形图”,在柱形
图系列中选择“二维
柱形图”, 这时出现
图表,菜单条中出现
“设计”、“布局”、“格
式”菜单。
(3) 在 “ 设 计 ” 菜
图1
单下,单击“切换行/列”,根据需要选择系列产生行或
列。 通过“图表样式”可选择柱形图的样式(本示例选
相对于文档左上角、顶部的位置,以及宽度、高度。
(3)画椭圆
可通过 Shapes.AddShape 方法,画一个“椭圆”,表
示均分。
语法: 表达式.AddShape (Type, Left, Top, Width,
Height)
其中参数分别表示自选图形(椭圆)的形状、左上
角相对于文档左上角、顶部的位置,以及宽度、高度。
目前,Excel 已被广泛运用到教育管理、教育研究 中,掌握图表制作方法已成为必修内容。 然而,在教育 统计管理中,有时我们还希望用自己独特的方式解读 数据,让个性化图表呈现变化趋势,从而突显数据中 的重要信息。 本文首先介绍通过手动操作的方法制作 Excel 图表,继而通过 VBA 编程生成系统中固定格式 图表,最后重点介绍运用 Excel VBA 自动生成个性化 图表,为教育管理、研究服务。
3.程序框图(见图 4)
运行结果见图 3。
4.源程序代码
‘将下列代码放入“宏”或程序中,执行代码后可
自动生成“盒式图”
‘首先通过 VBA 程 序,统计成绩 的分数(因字 数
限制,此处略去)
n 首 行 = 3’ 统
计数据存在表格的
第三行,编程时可根
据需要设定,下同
c 学科名 = "语
文" ‘本示例中,学科
三、运用 Excel VBA 自动生成个性化图表 Excel 虽 然 可 以 生 成 多 种 类 型 的 图 表 , 但 这 些 图 表 的 格 式 在 Excel 系 统 中 是 固 定 的 。 在 教 育 管 理、研究中,有时我们还希望用自己独特的方式解 读数据,让个性化图表突显数据中的重要信息。 那 么,怎样才能实现这样的功能呢? 下面以制作“盒式图”为例,介绍如何制作个 性化图表。 在教育测量中, 我们常用盒式图简洁反映成 绩离散程度。 将所有学生的总分从低到高排列,最 下面的短线则表示约有 5%的学生得分低于此线 对应的分数,最上面的短线表示约有 5%的学生得 分高于此线对应的分数。 方框上边线、中间线和下 边 线 对 应 的 分 数 分 别 表 示 约 有 25% 、50% 、75% 的 学生得分高于此线对应的分数。 盒式图的中间线 描述了学生平均成绩的水平高低, 盒式图中矩形 盒子的高度从一定程度上很直观地描述了学生成 绩离散程度的大小, 为教育管理提供了便捷的观 察手段。 我们从图 3 可以很直观地看出,学校甲的成 绩较好。 学校丙的总均分(图中“圆点”)虽然比 学校乙高一些,但学校丙的学生两极分化(上下 短线) 比较严重。 图表提示我们要尽快采取措 施,防止两极分化。 不难看出, 图 3 中的主要组成元素是 “点”、 “线段”。 下面介绍制作这样个性化图表的设计思 路及程序代码。
中图分类号:TP319
文献标识码:A
文章编号:1673-8454(2012)18-0068-05
由于科技的发展和生活节奏的加快,我们已经进 入读图时代。 我们有这样的体会,也许无法记住一连 串的数字,以及它们之间的关系和趋势,但是可以很 轻松地记住一幅图画或者一条曲线。 在教育统计研究 中,我们需要尽快从大量的数据中发现新的现象或规 律,以便优化管理、指导工作。 在“江苏省中小学生学 业质量测试”分析中,通过“盒式图”简洁地反映出测 试成绩离散程度,为教育评价提供直观的方法,就是 很好的实例。
""
n 尾行= n 尾行+ 1
Loop
n 尾行 = n 尾行- 1
c 区域 = Chr(96 + n 首列) & Trim(Str(n 首行)) &
":" & Chr(96 + n 尾列) & Trim(Str(n 尾行))
Range(c 区域).Select ' 选择数据区域
ActiveSheet.Shapes.AddChart.Select ' 在活动工作
差等等,减少了大量的重复操作。 然而,我们能否在
此基础上通过添加有关程序,自动生成相关图表呢?
下面以生成 “分数
段”图表为例,介绍
实现方法。
(1) 通 过 VBA
编程, 统计考试成
绩的 “分数段”,生
成表格 (如图 2 上
方数据)。
(2) 插 入 以 下
代码。 (将下列代码
放入 “宏” 或程序
中, 执行代码后可
应 用 技术应用
《中国教育信息化》编辑部:mis@
在教育统计分析中运用 Excel VBA 自动生成个性化图表