Javafx:如何在 css 中更改 .chart-legend-item-symbol 的大小?

Posted

技术标签:

【中文标题】Javafx:如何在 css 中更改 .chart-legend-item-symbol 的大小?【英文标题】:Javafx: how to change the size of .chart-legend-item-symbol in css? 【发布时间】:2016-12-18 08:00:23 【问题描述】:

我对 Javafx 比较陌生,对 CSS 完全陌生。 现在我想将我在 Javafx 中创建的图表导出到 png 文件中,并且因为我想要一张高质量的图片,我更改了我的 CSS 表的一些设置,以便现在字体大小等内容更大。

我设法更改了几乎所有参数,但还有一个问题:我发现无法更改图表图例符号的大小。 Oracle 提供了 JavaFX 参考指南,我发现我应该能够更改样式类 .chart-legend-item-symbol 中的设置。 (https://docs.oracle.com/javafx/2/api/javafx/scene/doc-files/cs-s-ref.html)

我还找到了同样来自 Oracle (http://docs.oracle.com/javafx/2/charts/css-styles.htm) 的教程,其中他们说:“默认情况下,图例符号看起来像圆形,因为它们被声明为 5 像素高、5 像素宽的圆角矩形, 和 5 像素半径。”

所以我的问题是:有没有一个参数可以用来改变矩形的 5px 大小?或者我是否需要在这里完全重新定义一个具有其他大小的矩形,如果需要 - 我该怎么做?

我觉得有点傻,直到现在我还没有完全理解 CSS 的语法,但是我问了谷歌也没找到解决这个问题的方法。

非常感谢您的帮助!

【问题讨论】:

没有人有想法吗? :-/ 【参考方案1】:
// For Line chart you can use

.default-color0.chart-line-symbol 
    -fx-background-radius: 0;

或者您可以简单地更改为面积图,将-line- 替换为-area-

【讨论】:

【参考方案2】:

请在此处查看jewelsea 的回答: Controlling symbols, etc. in lineCharts inline programmatically.

您可以通过以下方式访问任何图例符号:

.default-color0.chart-legend-item-symbol
.default-color1.chart-legend-item-symbol
.default-color2.chart-legend-item-symbol

也许有更好的方法来实现这一点,但您可以将自定义背景图像设置为 legend-item-symbol 并更改其大小:

.default-color0.chart-legend-item-symbol 
    -fx-background-color: transparent;
    -fx-background-size: 5px;
    -fx-background-image: url('../Icons/rectangle.png');
    -fx-background-repeat: no-repeat;
    -fx-background-position: center; 

或在此处使用此方法(饼图的自定义图例符号): https://gist.github.com/jewelsea/1422628

【讨论】:

以上是关于Javafx:如何在 css 中更改 .chart-legend-item-symbol 的大小?的主要内容,如果未能解决你的问题,请参考以下文章

在 Plotly Timeseries Chart 中更改时间刻度按钮的 CSS 样式

JavaFX CSS 在运行时更改自定义样式类的属性

JavaFX Chart

JavaFX Chart设置数值显示

JavaFX Chart设置数值显示

使用 CSS/JavaScript 更改 Kendo Chart 工具提示文本颜色