- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
背景信息:
我想将 gnuplot 图移植到 Zingchart。我包含了 gnuplot 源代码以更好地解释我的目标:
reset
set autoscale
set term canvas rounded solid butt size 1000,600 enhanced fsize 10 mousing lw 1 fontscale 1 jsdir "/home/eballes/Work/js"
set output 'html/data.html'
set grid
set yr [0:39]
set title 'State'
set xdata time
set xlabel "Time"
set ylabel "Element ID"
set timefmt "%s"
set format x "%d %H:%M"
set pointsize .25
set palette model RGB maxcolors 7
set palette model RGB defined (1 "#0000FF", 2 "#0000FF", 2 "#00FFFF", 3 "#00FFFF", 3 "#FF7F50", 4 "#FF7F50", 4 "#FFFF00", 5 "#FFFF00", 5 "#EE82EE", 6 "#EE82EE", 6 "#00FF00", 7 "#00FF00", 7 "#FF0000", 8 "#FF0000")
set cbrange [1:8]
plot "data.dat" u 1:2:3 notitle w points pt 5 ps .1 palette
我正在绘制的数据文件如下,第一列是 unix 时间戳,第二列是元素的 ID,第三列是状态:
1446246146 22 6
1446246146 20 1
1446246146 11 6
1446246146 24 1
1446246146 30 1
1446246146 14 1
1446246146 18 1
1446246147 22 6
1446246147 20 1
1446246147 11 6
1446246147 24 1
1446246147 30 1
1446246147 14 1
1446246147 18 1
1446246148 22 6
1446246148 20 1
1446246148 11 6
1446246148 24 1
1446246148 30 1
1446246148 14 1
1446246148 18 1
1446246149 22 6
1446246149 20 1
1446246149 11 6
结果将绘制 ID 的值(它是常量,所以它是一条线),颜色将取决于第三列并根据定义的调色板。它看起来像这样:
如您所见,结果令人满意,但输入数据的格式非常低效,而且情节本身有点乱七八糟。我敢打赌,在 gnuplot 中也有更好的方法来获得类似的东西。
问题:
我想要一个用 Zingchart 制作的类似(更好)的图。
现在,我可以随意修改 CSV 输入,我的第一次尝试是尝试从 stacked bar pattern 开始绘制给定状态的持续时间。但是,我无法弄清楚如何正确地在 Y 轴上绘制时间(不是从 0 开始)或者如何根据不同列中的值更改条形的颜色而不是分配 样式
在文档的 JavaScript 示例中完成的类:
{
"values":[null,3,null,null,null],
"class":"green"
},
所以最后我尝试重新创建我的旧 gnuplot 方法直接用于 Zingchart 但我也迷路了。我不知道如何避免 Zingchart 绘制每一列或根据不同列的值更改线条颜色。
问题:
假设这不是一个XY 问题...
在 Zingchart 中,给定一个 CSV 文件,我如何绘制一列取决于/由修改第二个不绘制的列?
最佳答案
完全披露,我是 ZingChart 团队的成员。听起来您需要使用 ZingChart 做的是利用我们的 rules .将规则属性添加到我们的 plot object将根据这些定义的规则集检查每个节点。这是一小段代码,它会根据该节点的值更改条形图的背景颜色。
plot:{
rules:[
{
//if value is between 5 and 7 change background color
rule:'%v > 5 && %v < 7',
backgroundColor:'#69F0AE' // bright green
}
]
}...
根据您的问题,我们想根据某个值检查每个柱状图,不一定是那个柱状图的值。您可以通过创建 custom tokens 来做到这一点它们是在系列对象中创建的,具有起始前缀“data-”以定义标记。您可以随意命名 token 。您可以将自定义 token 传递给与您传入的值长度相同的数组,在您的情况下,这将是您的 csv 文件的第二列。检查一下。
series : [
{
values : [
[1451692800000,5],
[1451779200000,10],
[1451865600000,3],
[1451952000000,1]
],
},
{
values : [
[1451692800000,2],
[1451779200000,5],
[1451865600000,4],
[1451952000000,9]
],
},
{
values : [
[1451692800000,3],
[1451779200000,6],
[1451865600000,9],
[1451952000000,1]
],
'data-customValue':[1,6,3,4,6] //custom made tokens can be accessed in the rules above. This token only applies to this series, you would have to add it to the others for it to be defined
}]
定义 token 后,您可以在规则中访问该 token 并根据该自定义 token 值调整条形颜色。我做了一个完整的演示,其中包含一个堆叠条形图,使用时间戳值绘制并根据值和自定义标记值调整一些条形颜色。如果我没有以正确的方式回答您的问题,请直接给我们发电子邮件寻求支持帮助:support@zingchart.com。您可以查看我们的help center或来我们的site并尝试通过聊天联系我们。感谢您的宝贵时间!
var myConfig = {
type: "bar",
utc:true,
title: {
text: 'Stacked Timestamp With Custom Values And Rules'
},
scaleX:{
transform:{
type:'date',
all:'%D, %d %M %Y'
},
minValue:1451606400000, // Jan 1
step:'day'
},
plot:{
stacked:true,
barWidth:40,
rules:[
{
//if value is between 5 and 7 change background color
rule:'%v > 5 && %v < 7',
backgroundColor:'#69F0AE' // bright green
},
{
//if custom token value is less than 5 change background color
rule:'%data-customValue <= 5',
backgroundColor:'#E040FB' // bright purple
}
]
},
series : [
{
values : [
[1451692800000,5], //Jan 2
[1451779200000,10], //Jan 3
[1451865600000,3], //Jan 4
[1451952000000,1] //Jan 5
],
},
{
values : [
[1451692800000,2],
[1451779200000,5],
[1451865600000,4],
[1451952000000,9]
],
},
{
values : [
[1451692800000,3],
[1451779200000,6],
[1451865600000,9],
[1451952000000,1]
],
'data-customValue':[1,6,3,4,6] //custom made tokens can be accessed in the rules above. This token only applies to this series, you would have to add it to the others for it to be defined
},
]
};
zingchart.render({
id : 'myChart',
data : myConfig,
height: 400,
width: '100%'
});
<!DOCTYPE html>
<html>
<head>
<!--Assets will be injected here on compile. Use the assets button above-->
<script src= "https://cdn.zingchart.com/zingchart.min.js"></script>
<!--Inject End-->
</head>
<body>
<div id='myChart'></div>
</body>
</html>
关于javascript - 根据 Zingchart 中的列值多图和更改线条颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37837185/
我正在尝试创建一些文本标题,这些标题的一侧有一条线,该线基于文本的宽度是动态的。 例子: 我猜我需要在标题上做一些背景颜色(例如白色)来伪造它,然后使用 :before伪类,但到目前为止我还没有成功。
如何在 Qt 中使用 QVector 初始化多边形来创建一个开放多边形? QPolygonF 将始终关闭多边形并将最后一个点与第一个点连接起来。 谢谢你的帮助 [编辑] 在QGraphicsScene
如何获取数组中道路的几何形状(线条/绘图)? 可能吗? 谢谢! [抱歉我的英语不好] 最佳答案 目前 Google map 无法实现此操作。开源网络服务,如 OpenStreetMap能够返回数据库中
当我绘制具有透明纹理的平面(例如房屋的 window )时,我看到了不应该出现的线条或三角形。我该如何解决这个问题? (来源:troll.ws) 这是我用来绘制一个窗口的方法。我暂时启用混合以使窗口透
在 WPF 中,有没有一种方法可以修改从 Dash-Dot 序列绘制任何路径的方式?假设我想为我正在绘制的任何路径或绘图路径本身上的小三角形、波浪等绘制一条三重线。我已经尝试过画笔,但它不会遵循路径。
I have created an interactive map that when areas are selected then the related content should show/
我想在圆圈悬停时显示上下文菜单,以向用户显示一些选择,并在单击时执行一些操作,但我无法做到这一点。 如何在鼠标悬停事件上显示带有拉斐尔元素(例如圆圈、线条)的上下文菜单,并在选择特定菜单项时执行某些操
已解决。 我之前有一个问题,但它发布得非常糟糕,所以根据更好的规则,这里再次出现。 我想创建某种样式的图表,例如此图像: 。 它基于物理定律,Snell's Law 。到目前为止,我已经成功地使用基本
我正在绘制一些具有相同笔划的路径,但有一些明显的重叠(动态创建和更新树)。在重叠区域,笔划看起来与非重叠区域(- 参见 b)不同(更暗和更粗 - 参见 a)。同样的效果对于不同的笔触颜色也很明显。 代
我正在使用 python 和 opencv。我的目标是检测用树莓派相机拍摄的图像中的“X”形碎片。该项目是我们有预印的井字棋板,并且每次在板上放置新棋子(带有印章)时都必须对板进行成像。然后输出说明棋
设置图像样式有两种方法,一种是全局修改,一种只针对一幅图片有效。 全局修改 a<-c(1:10)#全局修改old_par<-par(no.readonly=TRUE)
Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。
我创建了一个脚本来读取和绘制 .txt 文件及其内容(数字/值)。每个 .txt 文件位于不同的文件夹中。每个文件夹依次代表数据的一个主题。 这段代码工作正常。 Python 读取每个单独的 .txt
对于提交的最终文章,我被要求更新我的数据,以便它们符合以下规范: 轴线为 0.25 毫米 轴线周围,刻度线朝内 数据线为 0.5 毫米 字体为10pt 人物宽度应为 80 或 169 毫米 必须为 3
当尝试使用 D3DPT_LINELIST 在 3D 空间中绘制一条线时,Direct3D 给我一个关于无效顶点声明的错误,说它不能转换为 FVF .我使用的顶点声明和着色器/流设置与我的 D3DPT_
我如何使用 CSS 为 SVG“线”元素创建绘制动画。我想在滚动上画线,效果流畅。有人有什么想法吗?我试着搜索这个,但我找不到线元素的这种效果。这是我的 html 和 svg:
有什么方法可以用 CSS 来设置 SVG 行的样式吗?我试过添加。我想稍后用 JQuery 添加类 onclick。这将添加 class,然后更改描边颜色。 .black { fill: blac
我创建了一个受“站点地图”启发的菜单,它使用 svgs 连接菜单中的每个元素。目前 svg 是静态的。但是我相信有可能使这些吸引进来? 我有一个更复杂的问题,我只希望在容器 ul 可见时绘制线条。 当
这个问题在这里已经有了答案: How to draw a path smoothly from start point to end point in D3.js (1 个回答) 关闭 6 年前。
我在代码中的 HTML5 Canvas 元素上绘制了许多 1px 线。绘图代码大致如下所示,本例中的 transform 变量使用 d3-zoom 设置。 instructions.f32 是一个 F
我是一名优秀的程序员,十分优秀!