Clojure jFreechart:强制显示符号轴的所有刻度标签?

Clojure jFreechart:强制显示符号轴的所有刻度标签?,clojure,jfreechart,incanter,Clojure,Jfreechart,Incanter,我使用(Clojure)白炽灯的热图来显示(x,y)的轴值,其中x和y分别表示一些产品和应用程序。 就热图而言,使用xyplot来完成工作。 我使用Symbolaxis分别在x轴和y轴上显示产品和应用程序 使用默认设置(值轴的“自动范围”设置为true),值轴上的标签不完整,具体取决于Java窗口的大小,会显示一些lebel,而忽略一些lebel。看起来规则是先显示一个,然后隐藏固定数量的标签,然后显示另一个,重复,。。。。可能是为了保存relestate以避免标签文本相互冲突 但是我想显示所有

我使用(Clojure)白炽灯的热图来显示(x,y)的轴值,其中x和y分别表示一些产品和应用程序。 就热图而言,使用xyplot来完成工作。 我使用Symbolaxis分别在x轴和y轴上显示产品和应用程序

使用默认设置(值轴的“自动范围”设置为true),值轴上的标签不完整,具体取决于Java窗口的大小,会显示一些lebel,而忽略一些lebel。看起来规则是先显示一个,然后隐藏固定数量的标签,然后显示另一个,重复,。。。。可能是为了保存relestate以避免标签文本相互冲突

但是我想显示所有的标签,我想放大热图的大小以便显示它们

你能教我如何: 1) 强制显示Symbolaxis的所有标签,或 2) 放大热图尺寸以容纳所有刻度标签。 3) 减少tick laebl字体的大小,为更多标签节省更多空间

在我看来,JFreechart并没有关于这种细微差别的详细文档。我还没有找到要找出的源代码点

以下是我的热图示例:

在所附图表中,仅显示了四分之一的标签。对于局部标签,热图确实很有意义

注意:我试图将autorange设置为false,但更糟糕的是,只显示从底部开始的第一行

非常感谢你的帮助

1)要强制显示所有标签,您需要修改类中的和方法(注意,您可以通过Javadocs单击源代码,只需单击方法名称)。在这些方法中,搜索注释
//不要画这个勾号标签
,您将看到需要更改的代码

2) 始终调整图表图形以适应外部指定的大小(通过从Swing布局管理器获取其大小的ChartPanel,或通过某些调用方要求JFreeChart生成特定大小的图像、SVG、PDF等)


3) 从Axis基类继承该方法,因此您可以使用它使标签使用较小的字体。

David,感谢您给我指针。我来看看。我在用Clojure。我希望从Clojure那里找到一种方法。根据David的建议,我找到了一种解决方案,即减少勾号标签字体的大小,同时增加高度以保存plot对象。如果需要,我可以发布Clojure脚本。