我有一些数据,我将其放入图表和格式.有一些业务规则,其中一些数据是"受保护的",如示例中所示.使用"受保护"(或任何其他单词)excel这一单词绘制图形时出现的问题是指向X轴底部的图形.我希望图表看起来像第二张图表,但我想避免绘制一个隐藏的列,因为我认为这会让我的高级用户感到困惑.
任何想法或见解都表示赞赏!
我的Excel文件中有2列.1是'代码',其具有以下值:2050,2196,1605,D1488.下一列是"金额",其中包含美元金额值.插入柱形图时,x轴显示1,2,3,4,5,6.y轴显示两个条形码,即代码和数量.我希望x轴显示"代码"列中的数字.我该怎么做呢?我意识到这是因为它们是数字,这就是为什么它不起作用.但是,如果我将此列更改为实际文本,如a,b,c等,那么它将起作用.那么有办法解决这个问题吗?
我正在尝试自动化包含大量工作表的电子表格的图表。
我正在模板工作表上构建我需要的所有图表/图形,并使用命名的 range 使它们动态化(OFFSET + COUNT)。完成此模板后,我希望能够复制工作表(同时将其保留在同一工作簿中),并在我在每个新工作表上放入新数据时更新图表。
每个工作表都将使用相同的范围名称(通用金融词,例如margin和volume),因此我将它们限制在使用它们的工作表中(而不是全局范围)。
当我复制工作表时,图表中引用的命名范围将替换为静态单元格地址,而不是随图表一起复制。动态命名范围与工作表一起复制,并且只能在新工作表上引用(这就是我想要的)。
有没有办法让图表保持动态命名范围?
我正在使用Axlsx gem在rails上生成关于ruby的excel图表。我的要求是生成一个堆积的条形图,但是它以阶梯格式生成,请参阅此处的图像。为了生成图表,我使用了以下代码,
sheet.add_chart(Axlsx::BarChart, start_at: "B5", end_at: "I20", title: "Test Title", grouping: :stacked) do |chart|
chart.barDir = :col
chart.add_series(data: sheet["C3:E3"], labels: sheet["C2:E2"], title: sheet["C1"])
chart.add_series(data: sheet["F3:H3"], labels: sheet["C2:E2"], title: sheet["F1"])
end
Run Code Online (Sandbox Code Playgroud)
当我在Microsoft Excel中手动编辑生成的图表并将其设置Series Overlap为100%时,我将获得所需的输出,请参考此处的图像。
如何使用VBA更改Excel图表的字体?
如果我手动选择图表,并在手动更改字体名称和大小时录制宏,我会得到下面的宏.但是当我立即重放宏时,它会抛出一个运行时错误:"指定的值超出范围." 所以看起来宏记录器有一个bug.这意味着我无法弄清楚自己更改字体的代码.
Sub Macro6()
'
' Macro6 Macro
'
'
With ActiveSheet.Shapes("Chart 1").TextFrame2.TextRange.Font
.NameComplexScript = "Verdana"
.NameFarEast = "Verdana"
.Name = "Verdana"
End With
ActiveSheet.Shapes("Chart 1").TextFrame2.TextRange.Font.Size = 14
End Sub
Run Code Online (Sandbox Code Playgroud)

我知道作为替代方案,我可以一次更改一个元素的每个元素的字体(标题,轴标题,轴,......),但这很乏味,并且留下了遗忘一些元素的可能性(系列点标签,趋势线方程,......).
我正在寻找更改图表的"默认"字体,以便其所有元素都具有该字体.
我有很多张纸,每张纸上都有一个图表,我想循环遍历每个图表中的每个数据标签,删除任何等于 0 的数据标签,但似乎无法提取数据标签值。
With ActiveChart
For k = 1 To .SeriesCollection.Count
For j = 1 To .SeriesCollection(k).Points.Count
For l = 1 To .SeriesCollection(k).Points(j).DataLabels.Count
If .SeriesCollection.Points(j).DataLabels(l) = 0 Then
.SeriesCollection.Points(j).DataLabel(l).Delete
End If
Next l
Next j
Next k
End With
Run Code Online (Sandbox Code Playgroud)
(忽略激活每个图表的每个工作表的循环,该位有效,因此保持代码示例最少)
任何人都可以建议如何循环数据标签、检查值并在适当的地方删除?
正如您在附图中看到的,我的图表访问了左侧的表格。尽管值在变化并且有时值似乎为 0。在这种情况下,表格的整行既不应显示在图表中,也不应显示在图例或标签中。
我怎样才能实现这样的图表?示例:带图表的表格(在示例中,不应显示 gas 成本)
我正在将一系列Excel图表转换为Highcharts,并遇到一种奇怪的情况,涉及具有正值和负值的堆积面积图。
现在,该图表以及随附的数据点在Excel中显示。为了便于说明,我选择了系列G。尽管其数据中具有所有正值,但它出现在堆栈的底部,零线下方。
图表在Highcharts中的显示方式如下(请参见下文)。在这种情况下,系列G出现在图表上方,而其他所有系列的显示都与Excel中的显示大不相同。
作为参考,可以在以下位置找到此图表的小提琴:http : //jsfiddle.net/brightmatrix/woye6xxw/。我还在这篇文章的底部提供了一个代码示例。
我在这里已经在Stack Overflow上提到了以下问题,但是不幸的是,这两个问题都没有解决我的问题:
API文档中缺少我没有的属性或设置,该属性或设置将允许图表以与Excel中相同的堆叠顺序绘制这些系列?Highcharts有可能吗?
$(function () {
Highcharts.chart('container', {
chart: { type: 'area', },
title: { text: 'Stacked Area Chart in Highcharts' },
xAxis: { categories: ['2007','2008','2009','2010','2011','2012','2013','2014','2015','2016'] },
plotOptions: {
series: {
marker: { enabled: false }, stacking: 'normal'
},
},
series: [
{ name: 'Total', data: [0,0.08,-0.31,-1.09,-1.82,-2.18,-2.49,-3.05,-3.12,-3.15] },
{ name: 'A', data: [0,-0.212001,-0.409192,-0.559879,-0.81,-1.089119,-1.313719,-1.606092,-1.808868,-2.041628] },
{ name: 'B', data: [0,0.239857,0.637651,0.733988,0.85,0.855423,0.938974,0.912378,1.017854,0.985514] },
{ name: 'C', data: [0,-0.096543,-0.271997,-0.512372,-0.70,-0.665893,-0.723534,-0.879249,-0.890587,-0.821584] },
{ name: 'D', data: …Run Code Online (Sandbox Code Playgroud) charts data-visualization highcharts stacked-area-chart excel-charts
我正在通过vba代码在excel中创建一个图表.我正在使用连续的数据并且图表弹出没有问题,但是有一个名为"系列3"的额外系列,我没有要求并且需要摆脱(通过删除它或省略首先).它没有数据,但至少需要从图例中删除.这是我的代码:
Dim MyChtObj As ChartObject
Dim Sht1 As Worksheet
Dim ShtName As String
Set Sht1 = Worksheets("Parameter Forecasts")
ShtName = Sht1.Name
Set MyChtObj = Sht1.ChartObjects.Add(100, 100, 500, 500)
Set a = Sht1.Range("E37", Sht1.Range("E37").End(xlToRight))
Set b = Sht1.Range("E38", Sht1.Range("E38").End(xlToRight))
Set InputData = Union(a, b)
With MyChtObj.Chart
.ChartType = xlLineMarkers
.SetSourceData InputData
.PlotBy = xlRows
.SeriesCollection.NewSeries.XValues = Sht1.Range("F36", Sht1.Range("F36").End(xlToRight))
End With
Run Code Online (Sandbox Code Playgroud)
我已经尝试过了:
MyChtObj.SeriesCollection(3).Delete
但这不起作用.
提前谢谢,马克斯
我正在生成对数趋势线并为此使用 Excel 公式。但我无法计算在 Excel 中计算的斜率和截距值。我想,我在我的公式中犯了一些错误。
这是我的代码
var X= [10, 25, 30, 40]; Y= [5, 4, 7, 12];
var Slope, Intercept, SX = 0, SY = 0,
SXX = 0, SXY = 0, SYY = 0,
SumProduct = 0, N = X.length;
for (var i = 0; i < N; i++) {
SX = SX + X[i];
SY = SY + Y[i];
SXY = SXY + X[i] * Y[i];
SXX = SXX + X[i] * X[i];
SYY = SYY + Y[i] …Run Code Online (Sandbox Code Playgroud) 我正在绘制一组在某些单元格中有空白的数据.在空白单元格中,我有公式,我必须保留公式.当我绘制数据图时,空白单元格被绘制为零.我想在图表中添加间隙而不是零.我尝试右键单击图形>选择数据>隐藏和空单元格设置>将空单元格显示为间隙.但这没有帮助!
我有2个数组说X和Y.每个都有5个元素.现在对于(X,Y)的每个可能组合,我有一个Z值,所以Z是一个5x5矩阵.
我希望找到一个公式,例如z = f(x,y).关于如何做到这一点的任何想法.
我尝试了MS Excel曲面图,但它没有在曲面图上给出任何方程或曲线拟合.
我想知道是否可以从 VBA 代码将数据设置为图表,而不必将其设置为一堆单元格。
为此,它可以绘制任何内容……甚至是随机数。但我不想使用任何单元格来粘贴值,然后图表获取这些值。
[我的应用程序有一张表,上面有很多字母“M”(维护)、“O”(操作)和“A”(可用),代表一年中的每一天,来自一堆设备。我对设备进行一些 VBA 过滤,以获得一些我想要绘制的内容,并希望根据“M”、“O”和“A”数量进行一些计算。]
excel-charts ×13
excel ×10
vba ×5
charts ×2
excel-2010 ×2
excel-vba ×2
axlsx ×1
excel-2016 ×1
highcharts ×1
javascript ×1
named-ranges ×1
trendline ×1