我目前正在开发一个模块,以创建图表以显示数据。我用System.Windows.Forms.DataVisualization.Charting.Chart
。
我有两条带状线,即使我为它们指定了相同的值StripWidth
:
这里我们有MaxY
6000个,平均值为2300
和阈值为2500
// We can't use a fixed size because if the y axis is too high or too small it may look too big or too small
this.chart1.ChartAreas[0].Axes[1].StripLines[0].StripWidth = maxY / 100;
this.chart1.ChartAreas[0].Axes[1].StripLines[1].StripWidth = maxY / 100;
// add the striplines
this.chart1.ChartAreas[0].Axes[1].StripLines[0].Interval = 0;
this.chart1.ChartAreas[0].Axes[1].StripLines[1].Interval = 0;
this.chart1.ChartAreas[0].Axes[1].StripLines[0].IntervalOffset = average;
this.chart1.ChartAreas[0].Axes[1].StripLines[1].IntervalOffset = threshold;
它们通常以不同的大小结尾,虽然有些微妙,但我可以看到它,但我不明白它为什么会发生。
这只是一种视觉上的错觉:屏幕截图显示了两条宽度为3像素的行!
较深的绿色看起来更紧一点,但是当您计算像素时,您会发现它们是相同的:
为了避免这种效果,我建议给他们一种具有相同亮度的颜色!
另请注意,由于四舍五入,您可能总是会得到不完美的亚像素抗锯齿效果。
最后(也是最重要的):在屏幕截图中,网格线增加了幻觉。再次:为避免这种情况,请确保网格线和带状线具有更多明确的亮度值!
在photoshop中进行检查:在屏幕快照中,您具有的第一条带状线brightness=109
,gridlinebrightness=100
基本上相同,因此它们合并,宽度从3到4像素。但是第二个带状线有一个brightness=50
。这导致明显的33%的额外宽度。
请注意,网格线颜色可以很容易地设置为带状线颜色。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句