我NVD3在同一个svg中有几个不同的图表.我使用按钮来调用函数,每个函数都包含一个使用自己数据的新图表.
有没有办法清除我的单个svg而不删除它?我想按一个按钮来调用我的图表,但在加载新图表之前清除svg.
使用这种图表时不是问题... multibarhorizontal例如,调用两个图表只是更新形状,这很好.问题是加载两个不同的图表,如线条和条形图.
提前致谢
编辑 - 答案必须是类似d 3.select("svg").remove()但只删除svg.我只想清除它.
我有这个图表,x 轴加载接近一千个时间序列点。
这些点是没有吸引力的。

我可以隐藏 x 轴,但我希望日期显示在下方,减去刻度点。
有没有办法在离开时间的同时删除刻度点。(请忽略 x 轴上的数字,我知道它们是错误的)。
最好,我希望这是一个类别折线图,并完全避免时间序列。
代码,为了简单起见,删除了数据 -
var chart = c3.generate({
padding: {
right: 30
},
data: {
x: 'x',
columns: [
['x',1324252800,1324339200],
['OECD Crude Oil Price',102.91,105.05]
],
type: 'line',
onclick: function (d, element) { console.log("onclick", d, element); },
onmouseover: function (d) { console.log("onmouseover", d); },
onmouseout: function (d) { console.log("onmouseout", d); },
order: null
},
point: {
show: false
},
axis: {
x: {
//show:false,
//I don't want this, I want to see the …Run Code Online (Sandbox Code Playgroud) 我在 c3js 中有一个条形图,它在 x 轴上使用类别刻度。我想显示的刻度值是在加载图表时设置的:
axis: {
x: {
tick:{
rotate: -35,
values: getTicks(displayData), //Return the tick values
multiline:false
},
type: 'categorized'
}
}
Run Code Online (Sandbox Code Playgroud)
在加载时手动设置刻度的原因是我需要稍后更新它们。
我需要允许用户动态更新 x 轴范围,而不加载新数据,并且我希望显示的刻度数保持不变,但显然具有不同的值。
要更改 x 轴范围,我使用此函数:
chart.axis.range({min: {x: minRange}, max: {x: maxRange}});
Run Code Online (Sandbox Code Playgroud)
没有调用的函数chart.axis.values。关于如何动态更改刻度值的任何想法?
编辑 - 非常清楚,我不希望更新图表的值。这包括 x 和 y 轴值。我只想更改显示的刻度。
我遇到了问题isinstance().
我正在使用Python 2.7.8,并从shell运行脚本.
array我正在测试的元素包含一个数字,但是这个函数返回false; 使用number.Numbers:
import numbers
...
print array[x][i]
>> 1
...
print isinstance(array[x][i], numbers.Number)
>>> False
Run Code Online (Sandbox Code Playgroud)
也试过这个,从这篇文章
import types
...
print isinstance(array[x][i], (types.IntType, types.LongType, types.FloatType, types.ComplexType))
>>> False
Run Code Online (Sandbox Code Playgroud)
从同一篇文章中,我试过了
isinstance(array[x][i], (int, float, long, complex))
Run Code Online (Sandbox Code Playgroud)
我也试过这个解决方案没有用.
全部归还错误.
我正在使用c3js制作包含行数据的图表,并希望使用特定的颜色.
var chart = c3.generate({
data: {
x:'x',
rows: [
['x','Winter 2007-2008','Winter 2008-2009','Winter 2009-2010'],
['2013-01-01',12,30,3],
['2013-01-02',123,200,22],
['2013-01-03',21,100,54],
['2013-01-04',32,400,23],
['2013-01-05',12,150,12],
['2013-01-06',34,250,15]
],
},
axis: {
x: {
type: 'timeseries',
tick: {
format: '%Y-%m-%d'
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
这一切都很好,除了我希望将每一行设置为自定义颜色.
使用列数据,这很简单:
data: {
x:'x',
columns:[[]]
},
color: {
pattern: ['#1f77b4', '#aec7e8', '#ff7f0e']
}
Run Code Online (Sandbox Code Playgroud)
这可以通过面向行的数据实现吗?