我有这段代码可以绘制图形,效果很好。我需要两件事
在域轴(x)上,我希望能够滚动。在标记上,我看到粗线。我希望能够看到此标记的一些可读文本。现在我看到这个输出
同样在域轴上,我有毫值。我可以将其映射到人类可读的日期吗?
public class Grapher extends ApplicationFrame {
public Grapher(final String title, List<PriceModel> priceModels) {
super(title);
final XYSeries series = new XYSeries("foo");
double max = Double.MIN_VALUE, min = Double.MAX_VALUE;
for (int i = 0; i < priceModels.size(); i++) {
double price = priceModels.get(i).getPrice();
if (price < min) {
min = price;
}
if (price > max) {
max = price;
}
series.add((double) priceModels.get(i).getDate(), price);
}
final XYSeriesCollection data = new XYSeriesCollection(series);
final JFreeChart chart = ChartFactory.createXYLineChart(
"XY Series Demo",
"X",
"Y",
data,
PlotOrientation.VERTICAL,
true,
true,
false
);
for (int i = 0; i < priceModels.size(); i++) {
if (priceModels.get(i).getAction() != null) {
Marker marker = new ValueMarker((double) priceModels.get(i).getDate());
marker.setLabelAnchor(RectangleAnchor.BOTTOM_RIGHT);
marker.setLabelTextAnchor(TextAnchor.TOP_RIGHT);
if (priceModels.get(i).getAction() == Types.Action.SELL) {
marker.setPaint(Color.green);
marker.setLabel("SELL");
} else {
marker.setPaint(Color.red);
marker.setLabel("BUY");
}
marker.setStroke(new BasicStroke(10.0f));
chart.getXYPlot().addDomainMarker(marker);
}
}
chart.getXYPlot().setBackgroundPaint(Color.white);
chart.getXYPlot().getRenderer().setPaint(Color.BLUE);
chart.getXYPlot().getRangeAxis().setRange(min - 1, max + 1);
final ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setBackground(Color.WHITE);
chartPanel.setRangeZoomable(true);
chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
setContentPane(chartPanel);
}
public static void draw(List<PriceModel> priceModels) {
final Grapher demo = new Grapher("foo", priceModels);
demo.pack();
RefineryUtilities.centerFrameOnScreen(demo);
demo.setVisible(true);
}
}
您必须结合几种方法:
域滚动替代方案:
使用JScrollPane例如add(new JScrollPane(chartPanel);。
标记文本:使用XYTextAnnotation
,为例子。
格式日期:用更换工厂的轴DateAxis
和使用setDateFormatOverride()
,对于例如。
我在我的squarespace站点上使用了一些HTML&CSS来创建一个自定义的跟随光标。我只想有一个浮动的圆圈,没有实际的光标显示。我已经得到了它的工作,但当我的网站滚动跟随光标没有移动的页面滚动,只是卡在顶部。 这只会导致follow光标完全停止随鼠标移动而移动,在页面中心变成静态的。 将HTML&CSS注入到squarespace站点以创建自定义跟随光标: null null
以下是带有自定义轴和刻度标签的折线图示例。 我们已经在Google Charts Configuration Syntax一章中看到了用于绘制图表的配置 。 现在,让我们看一个带有自定义轴和刻度标签的折线图示例。 配置 (Configurations) 我们使用textStyle配置来更改轴和刻度标签样式。 TextStyle textStyle = TextStyle.create(); tex
问题内容: 我有一个SQL Server Reporting Services(2008)图表(错误图表)。X轴的日期间隔为1/1 / 2009、2 / 1/2009等。Y轴的数字间隔为50。Y轴上的值为0、50和100。但是,不是显示0。 ,50和100我想分别显示“小”,“中”和“大”。有谁知道如何执行此文本替换? 问题答案: 这有点hack,但是这里有: 首先,将值标准化为零左右,因此最小值
定义和使用自定义标记可以吗?(这不会与将来的html标记冲突)-通过更改outerHTML替换/呈现这些标记?? 我在下面创建了一个演示,看起来效果不错 问题的最新情况: 让我进一步解释一下。请假设浏览器上启用了JavaScript-也就是说,应用程序不应该在没有javascript的情况下运行。 我见过使用自定义属性在指定标记中定义自定义行为的库。例如,角度。js大量使用自定义属性。(它还有关于
我正在使用React视图上的Highcharts。出于可访问性和搜索引擎优化的原因,我想定制标记,但我在文档中找不出如何实现。Highcharts会自动插入一个标记,如下所示: <代码> 有没有办法改变这一点,或者这是硬编码的?
我们可以自定义标记图标谷歌地图吗?我不想只是简单地更改图标位图(我知道怎么做),我想更改图标的方式就像我有一个xml布局(有一个imageview和一个textview),我想膨胀这个xml(像自定义信息窗口)。但我想让它成为一个标记图标,这样我就可以通过编码来设置图像和文本。注意,我不想要一个信息窗口,我希望它是一个标记