C# chart控件,X轴显示问题

如图,X轴为什么只显示246这样呢?部分代码如下int[]pointsArray={1,2,3,4,5,6,7,8,9,10};string[]points={"1月",... 如图,X轴为什么只显示2 4 6这样呢?
部分代码如下
int[] pointsArray = {1,2,3,4,5,6,7,8,9,10 };
string[] points = { "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月" };
//添加随机数

for (int i = 0; i < 10; i++)
{
chart1.Series["Series1"].Points.AddXY(points[i], pointsArray[i]);
}
展开
 我来答
博飞港澳台联考
高粉答主

推荐于2016-12-02 · 说的都是干货,快来关注
知道大有可为答主
回答量:1.9万
采纳率:93%
帮助的人:9934万
展开全部
1.波形图中想实现这个功能,只要改变X坐标轴的显示格式和波形图标的扫描方式|:右击波形图控件选择“属性”,进行设置;波形图表中,数据会刷新绘制显示,第一次显示的点第二次就被新的数据点覆盖不见了。这种情况下,可以利用while循环,配合移位寄存器与数组插入来实现,把新的数据点插入到旧的数据点之后再一起送往控件显示,只要你送的数据点为波形数据(含时间信息),则x轴会自动压缩的。
2.首先,如果你采集到的数据只有波形幅值信息而没有时间信息的话,那么你先要将其转换为波形数据。假设你的数据已经有时间信息的情况下,你可以利用提取“波形属性”这个vi来处理,它可以将波形和时间分离,幅值为一维数组,不过分离出的时间可能为t0和dt两个标量,这个时候,你需要根据波形数据的大小自己将它扩展为数组。比如:波形中有10个数据,t0为0,dt为0.1,那么你可以利用循环,将时间信息循环计算10次,得到一个时间数组[0,0.1,0.2,……0.9],然后将波形的幅值数据数组和时间数组重新捆绑后,利用“写入电子表格”vi即可。
这个问题其实可以不这么复杂,如果你保存的是波形文件(用“写入波形文件”vi)的话,直接用“导出波形至文本文件”vi即可。这个vi将波形数据按时间和幅值数据的顺序保存到了txt文件中,第一列为时间,然后为数据。要知道,txt文件和excel文件对于Labview来说是一样一样的。
同步显示问题只要把你的显示控件在程序框图中放入循环体中就可以了。这样每循环一次就会显示一次曲线,如果你的循环周期比较短,显示在肉眼看几乎就是同步的了(因为毕竟每次显示的都是一组数据)。更严谨的同步显示估计是单点采集方式吧。但是那是采集设置的问题,就显示的同步来说,只需放入循环内就可以了。
3.导出时间为1904这是因为你的波形数据在处理时为使用当前时间作为起始时间。用“获取当前时间”vi可以解决这个问题。不过我记得好像得到的当前时间需要转换下格式。然后用“创建波形”vi将你的波形数据重新生成一个就可以了。
4.如果想通用些的,就保存成txt(excel)的数据格式,但这种格式在数据点较多时会很大,打开也很慢,并且这种格式保存速度慢,如果你的程序对数据采集速度保存速度有要求的话,要慎重。更多的是dat格式或者wave格式,还有tdm和tdms。这些格式保存速度快,数据以二进制格式保存,文件小。但是打开方式却不通用了,一般仅供labview自己打开,不过可以通过labview中的数据转换的vi来将其在事后(即全部采集完成后,这样不影响实时性)转换为txt格式文件,以供查看。
希望对你有帮助。
1997排长
高粉答主

2016-01-13 · 说的都是干货,快来关注
知道大有可为答主
回答量:1.1万
采纳率:0%
帮助的人:802万
展开全部
static inline bool fillPoint_Gray( QImage &image, QPoint p, uchar low, uchar high, uchar newVal, QStack<QPoint> &stack)
{
int x = p.rx();
int y = p.ry();
uchar *line = image.scanLine(y);
if( line[x] < low || line[x] > high )
{
return false;
}
line[x] = newVal;
if( y > 0 )
{
uchar *last = image.scanLine(y - 1);
if( last[x] >= low && last[x] <= high )
{
stack.push(QPoint(x, y - 1));
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zj344842379
2022-04-11 · TA获得超过122个赞
知道答主
回答量:78
采纳率:0%
帮助的人:18.7万
展开全部
AxisX.Interval = 1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式