mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-17 14:00:12 +00:00
增加Settings的reversePainter可设置Serie的绘制是否逆序
This commit is contained in:
@@ -34,6 +34,7 @@
|
||||
|
||||
## Latest
|
||||
|
||||
* (2021.04.29) Added `Settings`'s `reversePainter` to set whether or not `Serie` is drawn in reverse order
|
||||
* (2021.04.28) Fixed bug where `AxisLabel` displayed incorrectly with `DataRoom` (#138)
|
||||
* (2021.04.26) Fixed dynamically creating chart at runtime would be abnormal #137
|
||||
* (2021.04.26) Added support for `Barchart` to draw gradient borders
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
|
||||
## Latest
|
||||
|
||||
* (2021.04.29) 增加`Settings`的`reversePainter`可设置`Serie`的绘制是否逆序
|
||||
* (2021.04.28) 增加`SerieData`的`ignore`可忽略当前数据项
|
||||
* (2021.04.28) 修复`DataZoom`下`AxisLabel`显示不准确的问题 #138
|
||||
* (2021.04.26) 修复运行时动态创建图表会异常的问题 #137
|
||||
|
||||
@@ -797,6 +797,8 @@ K线图系列。
|
||||
|
||||
全局参数设置组件。一般情况下可使用默认值,当有需要时可进行调整。
|
||||
|
||||
* `reversePainter`:Painter是否逆序。逆序时index大的serie最先绘制。
|
||||
* `maxPainter`:默认最大Painter数据,当Serie数量大于maxPainter时会平均分配Painter。
|
||||
* `lineSmoothStyle`:曲线平滑系数。通过调整平滑系数可以改变曲线的曲率,得到外观稍微有变化的不同曲线。
|
||||
* `lineSmoothness`:曲线平滑度。值越小曲线越平滑,但顶点数也会随之增加。当开启有渐变的区域填充时,数值越大渐变过渡效果越差。
|
||||
* `lineSegmentDistance`: 线段的分割距离。普通折线图的线是由很多线段组成,段数由该数值决定。值越小段数越多,但顶点数也会随之增加。当开启有渐变的区域填充时,数值越大渐变过渡效果越差。
|
||||
|
||||
@@ -690,6 +690,8 @@ K线图系列。
|
||||
|
||||
全局参数设置组件。一般情况下可使用默认值,当有需要时可进行调整。
|
||||
|
||||
* `reversePainter`:Painter是否逆序。逆序时index大的serie最先绘制。
|
||||
* `maxPainter`:默认最大Painter数据,当Serie数量大于maxPainter时会平均分配Painter。
|
||||
* `lineSmoothStyle`: 曲线平滑系数。通过调整平滑系数可以改变曲线的曲率,得到外观稍微有变化的不同曲线。
|
||||
* `lineSmoothness`: 曲线平滑度。值越小曲线越平滑,但顶点数也会随之增加。当开启有渐变的区域填充时,数值越大渐变过渡效果越差。
|
||||
* `lineSegmentDistance`: 线段的分割距离。普通折线图的线是由很多线段组成,段数由该数值决定。值越小段数越多,但顶点数也会随之增加。当开启有渐变的区域填充时,数值越大渐变过渡效果越差。
|
||||
|
||||
@@ -27,6 +27,7 @@ namespace XCharts
|
||||
chart.settings.Reset();
|
||||
}
|
||||
++EditorGUI.indentLevel;
|
||||
PropertyField(prop, "m_ReversePainter");
|
||||
PropertyField(prop, "m_MaxPainter");
|
||||
PropertyField(prop, "m_LineSmoothStyle");
|
||||
PropertyField(prop, "m_LineSmoothness");
|
||||
|
||||
@@ -122,6 +122,14 @@ namespace XCharts
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 重新初始化Painter
|
||||
/// </summary>
|
||||
public void SetPainterDirty()
|
||||
{
|
||||
m_PainerDirty = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Redraw graph in next frame.
|
||||
/// 在下一帧刷新图形。
|
||||
|
||||
@@ -18,6 +18,7 @@ namespace XCharts
|
||||
public class Settings : MainComponent
|
||||
{
|
||||
[SerializeField] [Range(1, 20)] protected int m_MaxPainter = 10;
|
||||
[SerializeField] protected bool m_ReversePainter = false;
|
||||
[SerializeField] [Range(1, 10)] protected float m_LineSmoothStyle = 3f;
|
||||
[SerializeField] [Range(1f, 20)] protected float m_LineSmoothness = 2f;
|
||||
[SerializeField] [Range(1f, 20)] protected float m_LineSegmentDistance = 3f;
|
||||
@@ -35,6 +36,14 @@ namespace XCharts
|
||||
set { if (PropertyUtil.SetStruct(ref m_MaxPainter, value < 0 ? 1 : value)) SetVerticesDirty(); }
|
||||
}
|
||||
/// <summary>
|
||||
/// Painter是否逆序。逆序时index大的serie最先绘制。
|
||||
/// </summary>
|
||||
public bool reversePainter
|
||||
{
|
||||
get { return m_ReversePainter; }
|
||||
set { if (PropertyUtil.SetStruct(ref m_ReversePainter, value)) SetVerticesDirty(); }
|
||||
}
|
||||
/// <summary>
|
||||
/// Curve smoothing factor. By adjusting the smoothing coefficient, the curvature of the curve can be changed,
|
||||
/// and different curves with slightly different appearance can be obtained.
|
||||
/// 曲线平滑系数。通过调整平滑系数可以改变曲线的曲率,得到外观稍微有变化的不同曲线。
|
||||
@@ -99,6 +108,7 @@ namespace XCharts
|
||||
|
||||
public void Copy(Settings settings)
|
||||
{
|
||||
m_ReversePainter = settings.reversePainter;
|
||||
m_MaxPainter = settings.maxPainter;
|
||||
m_LineSmoothStyle = settings.lineSmoothStyle;
|
||||
m_LineSmoothness = settings.lineSmoothness;
|
||||
@@ -119,6 +129,7 @@ namespace XCharts
|
||||
{
|
||||
return new Settings()
|
||||
{
|
||||
m_ReversePainter = false,
|
||||
m_MaxPainter = XChartsSettings.maxPainter,
|
||||
m_LineSmoothStyle = XChartsSettings.lineSmoothStyle,
|
||||
m_LineSmoothness = XChartsSettings.lineSmoothness,
|
||||
|
||||
@@ -321,8 +321,9 @@ namespace XCharts
|
||||
var sizeDelta = new Vector2(m_GraphWidth, m_GraphHeight);
|
||||
for (int i = 0; i < settings.maxPainter; i++)
|
||||
{
|
||||
var painter = ChartHelper.AddPainterObject("painter_" + i, transform, m_GraphMinAnchor,
|
||||
m_GraphMaxAnchor, m_GraphPivot, sizeDelta, chartHideFlags, 2 + i);
|
||||
var index = settings.reversePainter ? settings.maxPainter - 1 - i : i;
|
||||
var painter = ChartHelper.AddPainterObject("painter_" + index, transform, m_GraphMinAnchor,
|
||||
m_GraphMaxAnchor, m_GraphPivot, sizeDelta, chartHideFlags, 2 + index);
|
||||
painter.index = m_PainterList.Count;
|
||||
painter.type = Painter.Type.Serie;
|
||||
painter.onPopulateMesh = OnDrawPainterSerie;
|
||||
|
||||
@@ -129,6 +129,8 @@ namespace XCharts
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void CheckTextMeshPro()
|
||||
{
|
||||
#if dUI_TextMeshPro
|
||||
|
||||
@@ -46,11 +46,11 @@ namespace XCharts
|
||||
{
|
||||
gameObject.SetActive(flag);
|
||||
}
|
||||
// var higFlags = !flag || !isDebugMode ? HideFlags.HideInHierarchy : HideFlags.None;
|
||||
// if (gameObject.hideFlags != higFlags)
|
||||
// {
|
||||
// gameObject.hideFlags = hideFlags;
|
||||
// }
|
||||
var hideFlags = flag ? HideFlags.None : HideFlags.HideInHierarchy;
|
||||
if (gameObject.hideFlags != hideFlags)
|
||||
{
|
||||
gameObject.hideFlags = hideFlags;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void Awake()
|
||||
|
||||
Reference in New Issue
Block a user