在JavaFx中,我有一个LineChartLC
,
lc.getData().addAll(series1);
它显示得很好,但似乎可以对所有数据点进行采样,以便将整个域放入图表中。
是否有一种方法可以强制LineChart只显示系列的最后10个数据点?
最后,我想创建一种方法来平移图表内容,以便显示一个窗口的数据,作为平移位置的函数。
我找到了这个SO post但是它删除了数据,这意味着我需要将它添加回来。我宁愿在可能的情况下将所有数据保留在系列中,并在可能的情况下设置那个系列的可用范围。
我自己用标准的fx库解决了这个问题。
只要横轴是NumberAxis
,就可以使用SetLowerBound()
和SetUpperBound()
函数。
结合滚动条,这是完美的工作。
例如,
final static int MAX_DISPLAY = 100
LineChart<Number, Number> lineChart;
ScrollBar scroller;
scroller.setMin(0);
scroller.setMax(1000 - MAX_DISPLAY);
scroller.valueProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> observableValue, Number number, Number t1) {
double pos = scroller.getValue();
NumberAxis na = (NumberAxis)lineChart.getXAxis();
na.setLowerBound(pos);
na.setUpperBound(pos + MAX_DISPLAY);
}
});
注意-如果使用Scene Builder,您的LineChart x-axis将默认为CatergoryAxis,因此请确保编辑.fxml文件并手动将其更改为NumberAxis。
此外,对于我的用例,由于X轴表示Unix纪元时间,您可以使用以下代码将number
值转换为其他值(在我的示例中是日期格式的字符串),
NumberAxis xAxis = (NumberAxis)lineChart.getXAxis();
xAxis.setTickLabelFormatter(new StringConverter<Number>() {
@Override
public String toString(Number object) {
return convertToDate(object.longValue());
}
@Override
public Number fromString(String string) {
return 0;
}
});
我在这里看到了下面的代码。描述说: 我们还可以使用自动 我确实理解汽车的衰退
问题内容: 我有一个水平线,我需要将每个垂直线居中。我的标记如下。每个都有一个边框,我需要物品及其内容垂直位于中间。请帮忙; 我是CSS新手。 问题答案: 我假设由于您使用的是XML声明,因此您不必担心IE或较旧的浏览器。 所以,你可以使用和像这样:
问题内容: 如何将无序列表居中放置为固定宽度? 问题答案: 要使ul 居中并使li元素也居中,并使ul的宽度动态变化,请使用display:inline-block; 并将其包裹在居中的div中。
问题内容: 如何使用CSS 在另一个文件中水平居中? 问题答案: 您可以将此CSS应用于内部: 当然,您不必将设置为。任何小于包含宽度的宽度都可以使用。是什么呢实际定心。 如果您以Internet Explorer 8(及更高版本)为目标,最好改用以下方法: 它将使内部元素水平居中,并且无需设置特定的 width。 这里的工作示例:
我在做一个宠物项目(一种游戏)。我遇到了一个问题:当从控制台用命令调用应用程序时: 播放短的声音,但不播放长的声音。所有声音都在JAR中的“/资产”文件夹中。 音频的路径如下所示: 例如射击或跳跃。对于长音频数据,仅播放前 0.5 秒。 例如:如果您加载长度为0.834秒的声音,那么它会循环(背景音乐),声音将循环播放!(WAV 文件,0.843 秒,48 KB)。但是,如果加载 WAV 文件 2
浏览器环境下的javascript, 实际上有两个天生缺陷: 不严谨. 不同浏览器的js实现上会略有不同. 这个问题在android, ios上也一样. 不是严格意义上的计算编程语言. 有语法漏洞. 例如 == 所以, 我们要驾驭好JS语言,就要知道如何有效的Debug. 时刻留意 vue server 我们开发时的命令: $ npm run dev 会开启一个"开发服务器", 这个开发服务器的
如何验证 Email 地址是否有效 一般来说,你不能。有一些看起来合理的方法可以使用,但却没有办法检测地址 是否实际可以投递,如果没有实际尝试投递的话。 使用正则表达式: # Match basically blah@blah.blah if ( $addr =~ /^\S+\@\S+\.\S+$/ ) { print "Looks OK"; } 如果你干真活的话,可能希望看看 CPAN
假设我创建了这样一个RDD(我使用的是Pyspark): 然后我用方法打印分区元素并获得 Spark是如何决定如何划分我的列表的?元素的特定选择来自哪里?它可以以不同的方式耦合它们,只留下0和10以外的一些其他元素,以创建6个请求的分区。在第二次运行中,分区是相同的。 使用更大的范围,有29个元素,我得到2个元素后跟3个元素的模式的分区: 使用更小范围的9个元素,我得到 因此,我推断Spark是通