Tag: 图表

当图表基于百分比时,如何在Excel帕累托图的数据标签中显示值

我在Excel 2010中为我的客户开发了排列图。他们当前有一个图表,显示主Y轴上每个类别的百分比。 然后,第二个Y轴用于累计百分比,最高达100%。 到目前为止,这是一个正常的,易于创build帕累托。 我还应该提到它基于一个具有3个不同报告filter的枢轴图。 他们希望在每列上方显示数据标签以指示出现的次数。 例如,他们可能在x轴上有6个事件: 1 – 事件A,50%,1,000事件 2 – 事件B,30%,600 3 – 活动C,10%,200 4 – 事件D,5%,100 5 – 事件E,3%,60 6 – 事件F,2%,40 我不知道如何显示数据标签,以便显示每个类别的值(例如,事件B在左边的轴上显示30%,数据标签为600,累计总数为80% )。 请记住,根据透视图上的报表filterselect的内容,x轴上的类别名称/数量将会改变,所以我不认为在数据标签中添加公式是答案。 我到处寻找(我想)的答案,但无法弄清楚。 我宁愿避免一个VBA解决scheme,但我知道如何编写VBA代码,所以如果这是唯一的方法,在正确的方向微调将不胜感激。 谢谢。

Excel图表着色3D条形图

使用Excel和Interop对3D条形图进行着色不起作用: 创build图表: chartRange = xlsSheet.Range[xlsSheet.Cells[1, 1], xlsSheet.Cells[array.GetLength(0), array.GetLength(1)]]; chartPage.SetSourceData(chartRange, Excel.XlRowCol.xlRows); chartPage.ChartType = Excel.XlChartType.xl3DColumn; chartPage.Location(Excel.XlChartLocation.xlLocationAsNewSheet, oOpt); 改变颜色: Excel.Series series = (Excel.Series)chartPage.SeriesCollection(1); Excel.Point pt = series.Points(2); pt.Format.Fill.ForeColor.RGB = (int)Excel.XlRgbColor.rgbPink; 问题:图表内没有任何变化,但也没有错误。 只是在酒吧上显示这个随机的颜色。

从C#中的Excel中绘制graphics

我需要将从设备获得的一些数据导出到Excel工作表中,并在其中绘制图表。 我已经成功地将数据导出到excel,当我打开excel工作表时,我得到正确的数据。 到现在为止还挺好。 我共有七列。 我需要绘制X轴上的第一列值(右)和Y轴上4,5,6列值(上图)的graphics。 我正在使用NetOffice(版本是1.7.3)。 到目前为止,我正在使用下面的代码绘制graphics Excel.Tools.CommonUtils utils = new Excel.Tools.CommonUtils(excelApplication); Excel.Workbook workBook = excelApplication.Workbooks.Add(); Excel.Worksheet workSheet = (Excel.Worksheet)workBook.Worksheets[1]; //然后在一个while循环中 workSheet.Cells[2, 2].Value = "Time"; workSheet.Cells[2, 3].Value = "Moving Average Temperature"; workSheet.Cells[2, 4].Value = "Temperature"; workSheet.Cells[2, 5].Value = "Moving Average Temperature in °C"; workSheet.Cells[2, 6].Value = "Temperature in °C"; workSheet.Cells[2, 7].Value = "Base Temperature in […]

Excel VBA图表被错误地复制为不同的图表types

我一直在敲我的头试图了解如何以及为什么我的Excel VBA代码生成一些重复的图表。 首先,当我将macros作为独立运行时,图表生成完美,没有问题,但是图表是在第5个模块中创build的,当我从头到尾运行整个过程时,我得到一个重复的图表。 我正在尝试创build一个堆叠的柱状图(它自己可以正常工作),但是我也得到了一个与其中的信息相同的常规条形图。 这也是另一个图表,这是一个区域图表。 我不确定是否有内存正在进行内存或为什么第二个图表被创build。 数据名称的范围和设置如下列。 指定的范围是“FTE_by_Co_Data” 期间(a1)CoA FTE(b1)CoB FTE(c1)(a2)1月15日(b2)15(c2)30等 以下是名称范围和图表创build的代码。 'Name the Data Range for the Chart Source Sheets("FTE_by_Co").Select Range("A1").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select ActiveWorkbook.Names.Add Name:="FTE_by_Co_Data", RefersTo:=Selection Sheets("FTE_by_Co").Select Range("FTE_by_Co_Data").Select 'Creating New Chart Dim StffChartObject2 As ChartObject Set StffChartObject2 = ActiveSheet.ChartObjects.Add(Left:=200, Top:=50, Width:=600, Height:=400) StffChartObject2.Chart.SetSourceData Source:=ActiveWorkbook.Sheets("FTE_by_Co").Range("FTE_by_Co_Data") StffChartObject2.Name = "FTECoChart" ActiveSheet.ChartObjects("FTECoChart").Activate ActiveChart.PlotBy = xlColumns ActiveChart.ChartType […]

通过VBA在Excel中的活动图表中添加数据

我有一个图表,每秒更新基于从另一个工作表复制工作表中的值。 每次我必须更新整个范围的图表。 有没有办法编辑图表范围来添加数据点,而不是使用完整的数据更新图表?

针对相同string值的范围dynamic绘制图表

示例数据集在http://bit.ly/1L67ZFu给出我从这些由下面的代码得到的图表在http://bit.ly/1P73A2U 在下面的代码中,行固定从1到7.我有dynamic数量的部门和dynamic数字od参数说我可以有参数,直到参数6和每个参数可以发生任何次数列1。如果我想dynamic绘制所有参数的图表,我该如何修改代码。 我希望代码根据相同的参数绘制行的图表。 如果参数的数量是从参数1到参数7,我总共需要14个图表。build议在代码中对此进行修改。 Sub PlotSeparateChartsByMergedFirstRow() Dim rUsed As Range, rMerged As Range, rChtData As Range Dim rChtDat1 As Range, rChtDat2 As Range Dim iColMerge As Long, iColData As Long Dim cht1 As Chart, cht2 As Chart Dim lastCol As Integer Const iChtHeight As Double = 175 lastCol = ActiveSheet.Cells(1, ActiveSheet.Columns.Count).End(xlToLeft).Column Set rUsed = ActiveSheet.Range(Cells(1, […]

如何使用Apache Poi在折线图中设置轴的标签

我试图自动化使用Java和Apache POI创build报告。 我快到了,但是找不到如何在XSSFChart中设置轴的标签。 我已经find了如何设置图表标题( Apache POI设置Excel图表标题 )。 也许有类似的方法来解决它,但我不是开发人员,也不知道如何开始。 谁能帮忙? 我的代码到现在: public void grafico(String nomeplanilhadados, String nomeplanilhagrafico, Date datainicial, Date datafinal, String[] nomesmarcos, String titulo){ if (datainicial.after(datafinal)){ throw new IllegalArgumentException("A data inicial precisa anteceder a data final"); } Sheet dados = this.wb.getSheet(nomeplanilhadados); Sheet planilhagrafico = this.wb.getSheet(nomeplanilhagrafico); Drawing drawing = planilhagrafico.createDrawingPatriarch(); ClientAnchor anchor = drawing.createAnchor(0, 0, 0, […]

创build一个特定的图表

我想创build一个这样的图表: http : //take.ms/BEie1 。 前两列是名称和序列号。 我必须把这两个图像放在X轴上,而Y轴是用于百分比的。 这是我最近的尝试: Dim xRange As Range Dim yRange As Range Dim objCht As ChartObject Set objCht = detailsh.ChartObjects.Add(Left:=detailsh.Columns("A").Left, Width:=350, Top:=detailsh.Rows(9).Top, Height:=210) Set xRange = Range("I2:J9") Set xRange = Range("L2:L9") With objCht.Chart Set srs = .SeriesCollection.NewSeries With srs .name = detailsh.Range("B1") .Values = detailsh.Range("I2:I7") .XValues = detailsh.Range("L2:L7") End With End […]

如何打破图表链接从Excel中粘贴的图表,而不会丢失数据?

我必须从一个非常重(> 10MB)的Excel文件中粘贴多个图表,并且具有Excel链接图表使得演示文稿也很重。 我们可以创build一个macros,使我们能够将ppt中的图表重新链接到原始excel图表,更新图表数据和断开链接以保持文件的大小。 我们在最后几天基本上做了很多迭代来模拟input,然后再向客户端发送数据包,并且希望避免浪费时间从excel中重新计算/重新格式化/更新ppt图表。 上述代码使我能够将图表链接分解为excel并减小ppt文件的大小,但是图表不会在此之后保持可编辑。 任何帮助将非常感激。 先谢谢您的帮助。 Sub BreakChartLinks() Dim sld As Slide Dim shp As Shape For Each sld In ActivePresentation.Slides For Each shp In sld.Shapes If shp.HasChart Then shp.LinkFormat.BreakLink End If Next shp Next sld End Sub

PowerShell Excel图表 – 从现有图表获取数据系列

我有一个Powershell脚本,从一个工作簿复制工作表(具有自定义双轴图表)到另一个工作簿,然后用数据填充新的副本。 脚本的这部分工作正常,但我正在尝试更改现有图表中的数据系列,我不知道更改数据系列的字段。 我可以更改现有图表的图表标题和图例标签,没有任何问题。 我已经尝试$ChartTemplate.SeriesCollection(1).Values字段和$ChartTemplate.SeriesCollection(1).XValues与$ChartTemplate.SeriesCollection().NewSeries.Invoke()命令和我没有成功。 有没有人知道Powershell的语法来编辑自定义双轴折线图( =SERIES(Template!$G$1,Template!$A$2:$A$112,Template!$G$2:$G$112,4 )? 以下是我从Googlesearch获得的Powershell代码: $file1 = $global:ChartTemplateXlsx # source's fullpath $file2 = $Path # destination's fullpath $xl = new-object -c excel.application $xl.Visible = $False # dont display the spreadsheet $xl.displayAlerts = $false # don't prompt the user $wb1 = $xl.workbooks.open($file1, $null, $true) # open source, readonly $wb = $xl.workbooks.open($file2) # open […]