- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 C# 和 ASP.Net 架构,我尝试显示 morris.js 图表。尽管如此,我并不完全理解如何调整我的 c# List<List<int>>
到所需的格式。有任何想法吗 ?
这是我的代码:
1) 如何在 C# 中构建我的列表
public List<List<int>> DataModel { get; private set; }
public void GenerateDataModel()
{
List<List<int>> tempo = new List<List<int>>();
Random rnd = new Random();
for (int i = 0; i < 100; i++)
{
List<int> un = new List<int>() { i, rnd.Next(10) };
tempo.Add(un);
}
DataModel = tempo;
for (int i = 0; i < 100; i++)
{
System.Diagnostics.Debug.WriteLine(DataModel[i][0]);
System.Diagnostics.Debug.WriteLine(DataModel[i][1]);
}
}
2)我如何实现莫里斯脚本:(受到 this 问题的启发)
<script>
var datas = @Model.DataModel;
var myArray = [];
var z = 0;
for (var tot = @Model.DataModel.Count(); z < tot; z++) {
myArray.push({ 'year': datas[z][0], 'value': datas[z][1]});
}
new Morris.Line({
// ID of the element in which to draw the chart.
element: 'myfirstchart',
// Chart data records -- each entry in this array corresponds to a point on
// the chart.
data: myArray,
// The name of the data record attribute that contains x-values.
xkey: 'year',
// A list of names of data record attributes that contain y-values.
ykeys: ['value'],
// Labels for the ykeys -- will be displayed when you hover over the
// chart.
labels: ['Value']
});
</script>
我最终得到的(应该是“销售”框中的东西):
最佳答案
您的<script>
的内容标签由服务器和浏览器处理。服务器处理以 @
开头的部分然后它将结果发送到运行 JavaScript 代码的浏览器。
当您在 @
之后仅指定一个表达式时服务器将其替换为表达式的值。如果该值是一个对象,您将得到 .ToString()
的结果调用该对象。为您List<List<int>>
它不会太漂亮或太有用:
var datas = System.Collections.Generic.List`1[System.Collections.Generic.List`1[System.Int32]];
您可以使用浏览器中的 F12 工具进行检查。
有多种方法可以调整您的代码以获得您想要的结果。
首先,您可以使用 Newtonsoft.Json 库,该库已包含在每个 ASP.NET 项目中。添加@using Newtonsoft.Json.Linq;
在 2) 中 View 的顶部,然后将您的分配替换为 datas
具有以下内容:
var datas = @JArray.FromObject(Model.DataModel).ToString(Newtonsoft.Json.Formatting.None);
其次,您可以生成 myArray
通过拉动 for
在服务器上构建结构从 JavaScript 循环到 C#:
var myArray = [
@for (var i = 0; i<Model.DataModel.Count; i++)
{
@:{ 'year': @Model.DataModel[i][0], 'value': @Model.DataModel[i][1] },
}
];
关于javascript - 使用 cshtml 制作 Morris.js 图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46998520/
是否可以动态更新莫里斯图?我知道setData()将更新数据,但我想更新设置。即,用户能够选择是否堆叠条形图。 我已经尝试过: bChart.stacked = true; bChart.setDat
这个 morrisjs javascript 有什么问题? http://jsbin.com/dituriheje/edit?html,js,output ) Morris.js L
我正在尝试创建类似Google Analytics(分析)“受众群体概览”图的图形。我正在尝试将X轴上从凌晨12:00 am到11:00 pm的小时数设置为 这是我目前正在使用的: Morris.Li
我已经阅读了文档及其要求,但我不想要它 :D 尝试将其设置为未定义并删除它,但随后 javascript 提示它丢失了。 有没有办法隐藏它? 最佳答案 您可以通过下一个选项禁用它: Morris.Li
我想知道是否可以在条形图上设置最大轴值(例如,我希望数据的最高点是 y 轴的顶端)?我看到折线图上有 ymin 和 ymax 选项,但我似乎找不到有关条形图的任何信息。 此外,如果有人知道如何将轴车道
我正在使用 Morris.js 条形图。出于某种原因,应该在 HOVER OVER 上出现的数字列在左下角。有没有人为什么? 最佳答案 没有任何代码很难给出好的答案。但是,它可能与您的 CSS 文件有
是否可以以相反的顺序(0-100)设置 y 轴值? 顶部的最大值必须从 0 到底部的 100。 Morris.Line({ element: 'line-example', dat
我正在尝试根据本地数据文件 - sales.php(json 格式)动态绘制莫里斯线: [ { year: '2008', value: 20 }, { year: '2009', value
我使用 morris.js绘制折线图图形,但我无法弄清楚如何仅更改折线图中的点颜色和样式。有谁知道如何只更改点样式? 谢谢。 最佳答案 使用 pointFillColors 属性。来自文档: poin
这是当我们使用Knuth-Morris-Pratt算法时,在Scheme中计算失效函数(我们要返回多少步)的代码: (define (compute-failure-function p) (
我有一个问题,因为我做了后端的动态响应。我生成的代码是: new Morris.Line({ // ID of the element in which to draw
我在使用 Morris.js 库创建图表时遇到一些麻烦。我创建了运动应用程序,每次训练都有一些值(value)。其中之一是“锻炼”,它表示锻炼类型(“运行”、“游泳”、“骑自行车”)。我想显示带有日期
为什么我会遇到异常 Uncaught Error: Graph container element not found 当使用morris.js时? 最佳答案 解决方案:将 javascript 放在
我在 yii2 中使用了 morris js 图表,当数据范围太高时出现问题,较低的数据范围会崩溃,有什么办法可以清楚地看到它?另外,要显示整周的数据,需要在 x 轴上向上滚动。 function c
我试图暗示 morris.js 但我收到以下错误: 我试着实现了一些教程,这真的很容易,但到目前为止我得到了以下内容 new Morris.Line({ element: 'myfirstchar
我正在使用 morris.js 和 javascript 创建折线图。这是我的代码: Morris.Area({ element: 'hero-area', data: [
我希望自定义堆叠条形图上的悬停图例,这样它就不会显示在特定条形图中没有值但会显示在其他条形图中的标签。希望下面链接中的图片有助于解决问题。图片中的行军标签只有几个标签的值,但显示了所有标签。我知道我必
我有以下 .js.coffee 文件 jQuery -> Morris.Line element: 'averages_chart' data: [{month: '2014 01 01',
是否可以使用 morris.js 添加水平条形图? http://jsbin.com/uzosiq/2/embed?javascript,live 非常感谢! 最佳答案 如果你使用来自 https:/
我很好奇 morris.js 是否支持在单个标签上放置多个堆叠条以及是否有人知道解决方法。 我想要将 2 个图表堆叠在同一行上。蓝色和红色应该相互重叠,绿色和黄色应该相互重叠。 Morris.Bar(
我是一名优秀的程序员,十分优秀!