- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个谷歌图表,两个底轴的时间跨度都比我想要的要长。下面的第一个运行到 2017 年 2 月 5 日。如何停止当月最后一天的图表?
google.load("visualization", "1", {
packages: ["corechart"]
});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Time', 'Electricity', 'Gas'],
[new Date('2017-01-01'), 61.7, 74.04],
[new Date('2017-01-02'), 91.145, 109.374],
[new Date('2017-01-03'), 28.378, 74.62],
[new Date('2017-01-04'), 16.75, 33.5],
[new Date('2017-01-05'), 26.136, 39.204],
[new Date('2017-01-06'), 466.248, 41.975],
[new Date('2017-01-07'), 0, 117.414],
[new Date('2017-01-08'), 42.268, 0],
[new Date('2017-01-09'), 10.442, 31.326],
[new Date('2017-01-10'), 56.356, 0],
[new Date('2017-01-11'), 21.15, 31.725],
[new Date('2017-01-12'), 55.226, 82.839],
[new Date('2017-01-13'), 488.352, 610.44],
[new Date('2017-01-14'), 148.252, 85.035],
[new Date('2017-01-15'), 141.925, 198.695],
[new Date('2017-01-16'), 102.36, 120.372],
[new Date('2017-01-17'), 25.86, 30.17],
[new Date('2017-01-18'), 127.848, 149.156],
[new Date('2017-01-19'), 0, 0],
[new Date('2017-01-20'), 0, 0],
[new Date('2017-01-21'), 0, 0],
[new Date('2017-01-22'), 0, 0],
[new Date('2017-01-23'), 0, 0],
[new Date('2017-01-24'), 0, 0],
[new Date('2017-01-25'), 0, 0],
[new Date('2017-01-26'), 0, 0],
[new Date('2017-01-27'), 0, 0],
[new Date('2017-01-28'), 0, 0],
[new Date('2017-01-29'), 0, 0],
[new Date('2017-01-30'), 0, 0],
[new Date('2017-01-31'), 0, 0],
]);
var ticks = [
new Date(2017, 0, 1),
new Date(2017, 1, 1),
new Date(2017, 2, 1),
new Date(2017, 3, 1),
new Date(2017, 4, 1),
new Date(2017, 5, 1),
new Date(2017, 6, 1),
new Date(2017, 7, 1),
new Date(2017, 8, 1),
new Date(2017, 9, 1),
new Date(2017, 10, 1),
new Date(2017, 11, 1)
];
var options = {
chartArea: {
width: "80%"
},
width: 900,
height: 500,
hAxis: {
title: 'Daily Totals Per Month',
viewWindowMode: 'pretty',
slantedText: false,
format: 'd MMM yy',
gridlines: {
color: 'transparent'
},
textStyle: {
color: 'black',
fontSize: 12,
fontName: 'Arial',
bold: true,
italic: false,
textAlign: 'right'
},
titleTextStyle: {
color: 'black',
fontSize: 16,
fontName: 'Arial',
bold: true,
italic: false
},
},
vAxis: {
title: 'kWh',
titleTextStyle: {
color: 'black',
fontSize: 16,
fontName: 'Arial',
bold: true,
italic: false
},
textStyle: {
color: 'black',
fontSize: 12,
fontName: 'Arial',
bold: true,
italic: false
},
},
legend: {
position: 'top',
width: "90%"
},
backgroundColor: '#fff',
colors: ['#f36daa', '#51b9d2'],
};
var chart = new google.visualization.AreaChart(document.getElementById('graph-tab-2'));
chart.draw(data, options);
}
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<div class="month-graph graph" id="graph-tab-2">
下一张图表跨越一天。但我只有 48 个从 00:00 开始到 23:30 结束的数据点。如何在 23:30 停止图表,这样图表末尾就不会出现 30 分钟的间隙。
google.load("visualization", "1", {
packages: ["corechart"]
});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Time', 'Electricity', 'Gas'],
[new Date('2017-01-17 00:00'), 0.059, 0.059],
[new Date('2017-01-17 00:30'), 0.079, 0.079],
[new Date('2017-01-17 01:00'), 0.076, 0.076],
[new Date('2017-01-17 01:30'), 0.062, 0.062],
[new Date('2017-01-17 02:00'), 0.091, 0.091],
[new Date('2017-01-17 02:30'), 0.050, 0.050],
[new Date('2017-01-17 03:00'), 0.094, 0.094],
[new Date('2017-01-17 03:30'), 0.064, 0.064],
[new Date('2017-01-17 04:00'), 0.082, 0.082],
[new Date('2017-01-17 04:30'), 0.081, 0.081],
[new Date('2017-01-17 05:00'), 0.060, 0.060],
[new Date('2017-01-17 05:30'), 0.089, 0.089],
[new Date('2017-01-17 06:00'), 0.060, 0.060],
[new Date('2017-01-17 06:30'), 0.088, 0.088],
[new Date('2017-01-17 07:00'), 0.080, 0.080],
[new Date('2017-01-17 07:30'), 0.065, 0.065],
[new Date('2017-01-17 08:00'), 0.094, 0.094],
[new Date('2017-01-17 08:30'), 0.060, 0.060],
[new Date('2017-01-17 09:00'), 0.091, 0.091],
[new Date('2017-01-17 09:30'), 0.158, 0.158],
[new Date('2017-01-17 10:00'), 0.188, 0.188],
[new Date('2017-01-17 10:30'), 0.238, 0.238],
[new Date('2017-01-17 11:00'), 0.196, 0.196],
[new Date('2017-01-17 11:30'), 0.193, 0.193],
[new Date('2017-01-17 12:00'), 0.181, 0.181],
[new Date('2017-01-17 12:30'), 0.238, 0.238],
[new Date('2017-01-17 13:00'), 0.194, 0.194],
[new Date('2017-01-17 13:30'), 0.172, 0.172],
[new Date('2017-01-17 14:00'), 0.202, 0.202],
[new Date('2017-01-17 14:30'), 0.195, 0.195],
[new Date('2017-01-17 15:00'), 0.243, 0.243],
[new Date('2017-01-17 15:30'), 0.203, 0.203],
[new Date('2017-01-17 16:00'), 0.176, 0.176],
[new Date('2017-01-17 16:30'), 0.108, 0.108],
[new Date('2017-01-17 17:00'), 0.000, 0.000],
[new Date('2017-01-17 17:30'), 0.000, 0.000],
[new Date('2017-01-17 18:00'), 0.000, 0.000],
[new Date('2017-01-17 18:30'), 0.000, 0.000],
[new Date('2017-01-17 19:00'), 0.000, 0.000],
[new Date('2017-01-17 19:30'), 0.000, 0.000],
[new Date('2017-01-17 20:00'), 0.000, 0.000],
[new Date('2017-01-17 20:30'), 0.000, 0.000],
[new Date('2017-01-17 21:00'), 0.000, 0.000],
[new Date('2017-01-17 21:30'), 0.000, 0.000],
[new Date('2017-01-17 22:00'), 0.000, 0.000],
[new Date('2017-01-17 22:30'), 0.000, 0.000],
[new Date('2017-01-17 23:00'), 0.000, 0.000],
[new Date('2017-01-17 23:30'), 0.000, 0.000],
]);
var options = {
chartArea: {
width: "80%"
},
width: 900,
height: 500,
hAxis: {
title: 'By day',
viewWindowMode: 'pretty',
slantedText: false,
count: -1,
format: "ha",
gridlines: {
color: 'transparent'
},
textStyle: {
color: 'black',
fontSize: 12,
fontName: 'Arial',
bold: true,
italic: false
},
titleTextStyle: {
color: 'black',
fontSize: 16,
fontName: 'Arial',
bold: true,
italic: false
},
viewWindow: {
// max: new Date('', '', '','23','30')
},
},
vAxis: {
title: 'kWh',
titleTextStyle: {
color: 'black',
fontSize: 16,
fontName: 'Arial',
bold: true,
italic: false
},
textStyle: {
color: 'black',
fontSize: 12,
fontName: 'Arial',
bold: true,
italic: false
},
},
legend: {
position: 'top',
width: "90%"
},
backgroundColor: '#fff',
colors: ['#f36daa', '#51b9d2'],
};
var chart = new google.visualization.AreaChart(document.getElementById('graph-tab-1'));
chart.draw(data, options);
}
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<div class="month-graph graph" id="graph-tab-1">
我尝试添加参数
viewWindow: { max: new Date('', '', '','23','30') },
但是好像不行
最佳答案
首先,建议在加载 Google 数据时不要使用以下日期构造函数新日期("yyyy-MM-dd")
根据时区/一年中的时间,您可能会得到与预期不同的日期,
如this question中所示
建议使用以下之一 date constructors ...
new Date(年、月[、日期[、小时[、分钟[、秒[、毫秒]]]]]);
(请记住,上面的月
是从零开始的)
-- 或 --
新日期("MM/dd/yyyy")
至于第一个问题,
使用viewWindow.max
将确保轴不超过提供的日期
但是,这不能确保显示最后一天的标签
确保图表在最后一天显示并停止的唯一方法是提供您自己的报价
您可以使用 DataTable 方法 getColumnRange
动态构建刻度
getColumnRange(columnIndex)
将返回一个对象{}
提供的 columnIndex
的 min
和 max
属性
请参阅以下工作片段,getColumnRange
用于每三天构建一次ticks
,以及最后一天...
google.charts.load('current', {
callback: drawChart,
packages:['corechart']
});
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Time', 'Electricity', 'Gas'],
[new Date(2017, 0, 1), 61.7, 74.04],
[new Date(2017, 0, 2), 91.145, 109.374],
[new Date(2017, 0, 3), 28.378, 74.62],
[new Date(2017, 0, 4), 16.75, 33.5],
[new Date(2017, 0, 5), 26.136, 39.204],
[new Date(2017, 0, 6), 466.248, 41.975],
[new Date(2017, 0, 7), 0, 117.414],
[new Date(2017, 0, 8), 42.268, 0],
[new Date(2017, 0, 9), 10.442, 31.326],
[new Date(2017, 0, 10), 56.356, 0],
[new Date(2017, 0, 11), 21.15, 31.725],
[new Date(2017, 0, 12), 55.226, 82.839],
[new Date(2017, 0, 13), 488.352, 610.44],
[new Date(2017, 0, 14), 148.252, 85.035],
[new Date(2017, 0, 15), 141.925, 198.695],
[new Date(2017, 0, 16), 102.36, 120.372],
[new Date(2017, 0, 17), 25.86, 30.17],
[new Date(2017, 0, 18), 127.848, 149.156],
[new Date(2017, 0, 19), 0, 0],
[new Date(2017, 0, 20), 0, 0],
[new Date(2017, 0, 21), 0, 0],
[new Date(2017, 0, 22), 0, 0],
[new Date(2017, 0, 23), 0, 0],
[new Date(2017, 0, 24), 0, 0],
[new Date(2017, 0, 25), 0, 0],
[new Date(2017, 0, 26), 0, 0],
[new Date(2017, 0, 27), 0, 0],
[new Date(2017, 0, 28), 0, 0],
[new Date(2017, 0, 29), 0, 0],
[new Date(2017, 0, 30), 0, 0],
[new Date(2017, 0, 31), 0, 0],
]);
var dateRange = data.getColumnRange(0);
var oneDay = (1000 * 60 * 60 * 24);
var ticksAxisH = [];
for (var i = dateRange.min.getTime(); i <= dateRange.max.getTime(); i = i + oneDay) {
// add tick every 3 days
if ((((i - dateRange.min.getTime()) / oneDay) % 3) === 0) {
ticksAxisH.push(new Date(i));
}
}
// ensure last day is added
if (ticksAxisH[ticksAxisH.length - 1].getTime() !== dateRange.max.getTime()) {
ticksAxisH.push(dateRange.max);
}
var options = {
chartArea: {
width: "80%"
},
width: 900,
height: 500,
hAxis: {
title: 'Daily Totals Per Month',
viewWindowMode: 'pretty',
ticks: ticksAxisH,
slantedText: false,
format: 'd MMM yy',
gridlines: {
color: 'transparent'
},
textStyle: {
color: 'black',
fontSize: 12,
fontName: 'Arial',
bold: true,
italic: false,
textAlign: 'right'
},
titleTextStyle: {
color: 'black',
fontSize: 16,
fontName: 'Arial',
bold: true,
italic: false
},
},
vAxis: {
title: 'kWh',
titleTextStyle: {
color: 'black',
fontSize: 16,
fontName: 'Arial',
bold: true,
italic: false
},
textStyle: {
color: 'black',
fontSize: 12,
fontName: 'Arial',
bold: true,
italic: false
},
},
legend: {
position: 'top',
width: "90%"
},
backgroundColor: '#fff',
colors: ['#f36daa', '#51b9d2'],
};
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
对于第二个问题,可以应用相同的技术
这里,刻度线
每四个小时添加一次,以及最后一个
请参阅以下工作片段...
google.charts.load('current', {
callback: drawChart,
packages:['corechart']
});
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Time', 'Electricity', 'Gas'],
[new Date('2017-01-17 00:00'), 0.059, 0.059],
[new Date('2017-01-17 00:30'), 0.079, 0.079],
[new Date('2017-01-17 01:00'), 0.076, 0.076],
[new Date('2017-01-17 01:30'), 0.062, 0.062],
[new Date('2017-01-17 02:00'), 0.091, 0.091],
[new Date('2017-01-17 02:30'), 0.050, 0.050],
[new Date('2017-01-17 03:00'), 0.094, 0.094],
[new Date('2017-01-17 03:30'), 0.064, 0.064],
[new Date('2017-01-17 04:00'), 0.082, 0.082],
[new Date('2017-01-17 04:30'), 0.081, 0.081],
[new Date('2017-01-17 05:00'), 0.060, 0.060],
[new Date('2017-01-17 05:30'), 0.089, 0.089],
[new Date('2017-01-17 06:00'), 0.060, 0.060],
[new Date('2017-01-17 06:30'), 0.088, 0.088],
[new Date('2017-01-17 07:00'), 0.080, 0.080],
[new Date('2017-01-17 07:30'), 0.065, 0.065],
[new Date('2017-01-17 08:00'), 0.094, 0.094],
[new Date('2017-01-17 08:30'), 0.060, 0.060],
[new Date('2017-01-17 09:00'), 0.091, 0.091],
[new Date('2017-01-17 09:30'), 0.158, 0.158],
[new Date('2017-01-17 10:00'), 0.188, 0.188],
[new Date('2017-01-17 10:30'), 0.238, 0.238],
[new Date('2017-01-17 11:00'), 0.196, 0.196],
[new Date('2017-01-17 11:30'), 0.193, 0.193],
[new Date('2017-01-17 12:00'), 0.181, 0.181],
[new Date('2017-01-17 12:30'), 0.238, 0.238],
[new Date('2017-01-17 13:00'), 0.194, 0.194],
[new Date('2017-01-17 13:30'), 0.172, 0.172],
[new Date('2017-01-17 14:00'), 0.202, 0.202],
[new Date('2017-01-17 14:30'), 0.195, 0.195],
[new Date('2017-01-17 15:00'), 0.243, 0.243],
[new Date('2017-01-17 15:30'), 0.203, 0.203],
[new Date('2017-01-17 16:00'), 0.176, 0.176],
[new Date('2017-01-17 16:30'), 0.108, 0.108],
[new Date('2017-01-17 17:00'), 0.000, 0.000],
[new Date('2017-01-17 17:30'), 0.000, 0.000],
[new Date('2017-01-17 18:00'), 0.000, 0.000],
[new Date('2017-01-17 18:30'), 0.000, 0.000],
[new Date('2017-01-17 19:00'), 0.000, 0.000],
[new Date('2017-01-17 19:30'), 0.000, 0.000],
[new Date('2017-01-17 20:00'), 0.000, 0.000],
[new Date('2017-01-17 20:30'), 0.000, 0.000],
[new Date('2017-01-17 21:00'), 0.000, 0.000],
[new Date('2017-01-17 21:30'), 0.000, 0.000],
[new Date('2017-01-17 22:00'), 0.000, 0.000],
[new Date('2017-01-17 22:30'), 0.000, 0.000],
[new Date('2017-01-17 23:00'), 0.000, 0.000],
[new Date('2017-01-17 23:30'), 0.000, 0.000],
]);
var dateRange = data.getColumnRange(0);
var oneHour = (1000 * 60 * 60);
var ticksAxisH = [];
for (var i = dateRange.min.getTime(); i <= dateRange.max.getTime(); i = i + oneHour) {
// add tick every 4 hours
if ((((i - dateRange.min.getTime()) / oneHour) % 4) === 0) {
ticksAxisH.push(new Date(i));
}
}
// ensure last hour is added
if (ticksAxisH[ticksAxisH.length - 1].getTime() !== dateRange.max.getTime()) {
ticksAxisH.push(dateRange.max);
}
var options = {
chartArea: {
width: "80%"
},
width: 900,
height: 500,
hAxis: {
title: 'By day',
viewWindowMode: 'pretty',
ticks: ticksAxisH,
slantedText: false,
count: -1,
format: "ha",
gridlines: {
color: 'transparent'
},
textStyle: {
color: 'black',
fontSize: 12,
fontName: 'Arial',
bold: true,
italic: false
},
titleTextStyle: {
color: 'black',
fontSize: 16,
fontName: 'Arial',
bold: true,
italic: false
},
viewWindow: {
// max: new Date('', '', '','23','30')
},
},
vAxis: {
title: 'kWh',
titleTextStyle: {
color: 'black',
fontSize: 16,
fontName: 'Arial',
bold: true,
italic: false
},
textStyle: {
color: 'black',
fontSize: 12,
fontName: 'Arial',
bold: true,
italic: false
},
},
legend: {
position: 'top',
width: "90%"
},
backgroundColor: '#fff',
colors: ['#f36daa', '#51b9d2'],
};
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
关于javascript - Google 图表,如何设置 hAxis 截止时间/日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41871832/
我需要为我的 xAxis 设置以下值: Values : 63,80,100,125,160,200,250,315,400,500,630,800,1000,1250,1600,2000 当前显示的
我试图在轴上显示刻度值。下面是动态获取数据并生成柱形图的代码。以下代码的问题是未显示 h 轴 dynamicTicks,在 h 轴上它显示 f: cData 中 {"v": i, "f": hAxis
我们正在尝试在谷歌图表中显示水平线和垂直线。为此,我们需要使用 hAxis 和 vAxis 属性。 但是hAxis.format没有月的格式,那我们怎么显示竖线呢? var data = goog
我正在使用 Google 图表。我正在尝试显示 15 家商店以及每家商店的点击次数。 现在一切正常。 我的问题出在 hAxis 上。如您所见,商店的名称不完整,这很好,但是当我将鼠标悬停在不完整的名称
我想减少 Google Charts' Area chart 的 hAxis 上的刻度数。我尝试使用 tick 选项,但它并不能完全实现我的目标。 例如,如果 hAxis 值如下:['Jun 2016
我正在学习如何使用 Google Charts API,更具体地说 Material cloumn charts .我想在 hAxis 中显示所有标签,例如 (1,2,3,4,5 [...]),但我的
我试图将我的标签(0、20、40、60、80、100)放在图表的顶部,而不是底部。我看到hAxis.textPosition只支持in、out和none。知道如何将这些标签放在顶部而不是底部吗?
我在简单的谷歌图表上的 hAxis 格式有问题。在我的选项中: 'hAxis': { baseline: minDate, format: 'dd/MM' }, 我填充我的values数组:
跟踪访问者的数量来自哪个网站并对其进行一些分析。我们正在创建一个柱形图,以图形形式显示分析报告。 所有的东西都在图表上正确显示,但我们在 haxis 上显示网站名称。由于网站名称太长,如“www.go
这是我的代码: var rawdata='".$performances."'; var mydata=jQuery.parseJSON(rawdata);
是否可以更改 xAxis 条上刻度的颜色? 我想用 2000 绿色、2500 橙色和 3000 红色制作刻度。 我已经试过了,但它似乎不起作用: ticks: [500, 1000, 1500, {v
我正在使用具有负值的 google-chart 堆叠条形图。我想动态地将负 hAxis 标签更改为正,而不更改实际值。 最佳答案 您可以提供自己的自定义标签, 使用 hAxis 上的 ticks 选项
我们在 MVC 项目中使用 Google Charts。 我们已经设法实现了图表,但是我们遇到了一个小问题。 每当我们将文本倾斜 90 度时,hAxis 标签就会重复(见下文)。 我们希望文本倾斜 9
不知何故,我无法为水平轴的文本着色。这是我为选项设置的: var options = { colors: ['#B20054', '#993D69', '#BD00FF', '#FFFE40'
这是一个sample fiddle使用谷歌折线图绘制图表, var Xmin = data.getValue(0, 0); var options = {
我正在使用 Google Charts 的折线图并将以下示例放在一起:http://codepen.io/anon/pen/epJqaX 如您所见,所有数据点都有日期、值 1 和值 2。 目前我只将此
查看图像 hAxis 标签: hAxis 标签换行成两行,例如,它们的值是 10.09,没有空格。但在较窄的屏幕上,它会换行成两行,这是在 Firefox 中。 在 Chrome 中效果更好。这是它在
我有两个谷歌图表,两个底轴的时间跨度都比我想要的要长。下面的第一个运行到 2017 年 2 月 5 日。如何停止当月最后一天的图表? google.load("visualization", "1",
我有一个百分比值从 0 到 100%(即 0 到 1)的 google 图表当我将 hAxis.gridlines.count 设置为 10 时,希望在 0, 10, 20, ... 90, 100
我正在尝试使用以下类型的数据点构建折线图。每个数据点由以下数据组成: 日期 值 1 值(value) 2 这样一个点的例子是:(2015-01-15, 'Value 1', 'Value 2') 我能
我是一名优秀的程序员,十分优秀!