JChart2D の軸の色を変更するにはどうすればよいですか。
これまでのところ、私が見つけた最も近いものは次のようなものです:
chart.setForeground(Color.BLUE);
残念ながら、これにより Axis と Grid の両方がすべて変更されます。私が探しているのは、異なる色の複数の yAxis を持つことです。
これはどのように達成できますか?
JChart2D の軸の色を変更するにはどうすればよいですか。
これまでのところ、私が見つけた最も近いものは次のようなものです:
chart.setForeground(Color.BLUE);
残念ながら、これにより Axis と Grid の両方がすべて変更されます。私が探しているのは、異なる色の複数の yAxis を持つことです。
これはどのように達成できますか?
ライブラリを変更して再コンパイルしました...
そのために、IAxis.java に次のコードが追加されました。
/**
* The property key defining the <code>color</code> property. Use in
* combination with
* {@link #addPropertyChangeListener(String, PropertyChangeListener)}.
*/
public static final String PROPERTY_COLOR = "IAxis.PROPERTY_COLOR";
/**
* Returns the color of the axis
* @return The chosen java.awt.Color or null if the decision for the color
* should be made by the corresponding <code>Chart2D</code>.
*/
public Color getColor();
/**
* Set a <code>java.awt.Color</code> for this axis.
* <p>
*
* @param color
* the <tt>Color</tt> to set.
*/
public abstract void setColor(Color color);
AAxis.java に次のコードが追加されました。
/** The color property. */
private Color m_color = Color.black;
/**
* Get the <code>Color</code> this color will be painted with.
* <p>
*
* @return the <code>Color</code> of this instance
*/
public final Color getColor() {
return this.m_color;
}
/**
* <p>
* Set the <code>Color</code> this axis will be painted with.
* </p>
*
* @param color
* the <code>Color</code> this trace will be painted with.
*/
public final void setColor(final Color color) {
final Color oldValue = this.m_color;
this.m_color = color;
if (!this.m_color.equals(oldValue)) {
this.m_propertyChangeSupport.firePropertyChange(IAxis.PROPERTY_COLOR, oldValue, this.m_color);
}
}
最後に、paintAxisYLeft と paintAxisYRight の 2 つのメソッドが変更されました。
追加
g2d.setColor(this.getColor());
行の前に:
g2d.drawLine(xAxisLine, yAxisStart, xAxisLine, yAxisEnd);
そして追加
g2d.setColor(this.getColor());
行の前に:
tickPainter.paintYTick(xAxisLine, tmp, label.isMajorTick(), true, g2d);
これが次のリリースに追加されることを願っています...
これは今のところ機能しません。ずっと前に機能要求がありました: http://sourceforge.net/p/jchart2d/feature-requests/51/
自由に投票したり、パッチに貢献したりしてください。
よろしく、アキム