網上可以賭錢的游戲   免費注冊 查看新帖 |

網上可以賭錢的游戲

  平臺 網上游戲 博客 文庫
最近訪問板塊 發新帖
查看: 18633 | 回復: 33
打印 上一主題 下一主題

TXT中一個坐標列,一個數據列,將數據按坐標生成map [復制鏈接]

本文地址:http://www.hznkw.tw/thread-4292356-1-1.html
文章摘要:TXT中一個坐標列,一個數據列,將數據按坐標生成map ,無妨山下心同止水,巴林站團章非全日制。

家境小康

網上游戲徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發表于 2018-02-01 15:07 |只看該作者 |倒序瀏覽
5可用積分
本帖最后由 情節可以很簡單 于 2018-02-01 17:12 編輯

我的需求是:看電壓分布。
1.電壓值按50mV等級替換:
        0< A <=1.4000;
1.4000< B <=1.4500;
1.4500< C <=1.5000;
1.5000< D <=1.5500;
1.5500< E <=1.6000;
1.6000< F <=1.6500;
1.6500< G <=1.7000;
1.7000< H <=1.7500;
1.7500< I <=1.8000;
1.8000< J ;

2.將第三列電壓值按照坐標生成數據圖, 空白坐標可以用“0”或其他任何 表示。
3.還有一個難點:有坐標相同的點,取其中任意一點替代。
#----------------------------------------
我的輸入TXT為:( Y坐標:1~73;X坐標:不定)第一列坐標X值大小順序沒有規律,且Y相同--X的范圍也不是固定的。
另外如果第二列“bgr_trim8”礙眼,我可以去掉。
(7,1)            bgr_trim8        1.4796        V
(8,1)            bgr_trim8        1.6455        V
(9,1)            bgr_trim8        1.5645        V
(10,1)            bgr_trim8        1.5863        V
(7,1)            bgr_trim8        1.4803        V
(-1,1)            bgr_trim8        1.6614        V
(0,1)            bgr_trim8        1.6055        V
(1,1)            bgr_trim8        1.6841        V
(2,1)            bgr_trim8        1.5392        V
(3,1)            bgr_trim8        1.6637        V
(4,1)            bgr_trim8        1.6190        V
(5,1)            bgr_trim8        1.6247        V
(6,1)            bgr_trim8        1.6122        V
(1,1)            bgr_trim8        1.6867        V
(-5,1)            bgr_trim8        -124.1541        mV
(-9,2)            bgr_trim8        1.5492        V
(-8,2)            bgr_trim8        1.6070        V
(-7,2)            bgr_trim8        1.5932        V
(-6,2)            bgr_trim8        1.4986        V
(-5,2)            bgr_trim8        1.5313        V
(-4,2)            bgr_trim8        1.6900        V
(-3,2)            bgr_trim8        1.6924        V
(-2,2)            bgr_trim8        1.5223        V
(-1,2)            bgr_trim8        1.6690        V
(0,2)            bgr_trim8        1.7155        V
(1,2)            bgr_trim8        1.6334        V
(-6,2)            bgr_trim8        1.4990        V

.......         ............     ........      ...


#----------------------------------------
能不能過好這個年就差這一哆嗦了!給大家拜個早年!








最佳答案

查看完整內容

回復 28# 情節可以很簡單 老奶奶都不扶,就服你。不過我沒有在兩側標出坐標軸,這個問題就留給題主了。

網上游戲徽章:
11
子鼠
日期:2014-10-11 16:46:4815-16賽季CBA聯賽之山東
日期:2017-11-10 14:32:142016科比退役紀念章
日期:2017-09-02 15:42:4715-16賽季CBA聯賽之佛山
日期:2017-08-28 17:11:5515-16賽季CBA聯賽之浙江
日期:2017-08-24 16:55:1715-16賽季CBA聯賽之青島
日期:2017-08-17 19:55:2415-16賽季CBA聯賽之天津
日期:2017-06-29 10:34:4315-16賽季CBA聯賽之四川
日期:2017-05-16 16:38:55黑曼巴
日期:2016-07-19 15:03:112015亞冠之薩濟拖拉機
日期:2015-05-22 11:38:532016科比退役紀念章
日期:2018-03-16 10:24:05
2 [報告]
發表于 2018-02-01 15:07 |只看該作者
本帖最后由 523066680 于 2018-02-02 19:07 編輯

回復 28# 情節可以很簡單

老奶奶都不扶,就服你。不過我沒有在兩側標出坐標軸,這個問題就留給題主了。

  1. use List::Util qw/max min/;
  2. STDOUT->autoflush(1);

  3. my @data = read_file("bgr_trim8.txt");

  4. our ( @X, @Y, @Z, %edge );
  5. for my $row ( @data )
  6. {
  7.     $row=~/\((-?\d+),(-?\d+)\)\s+(\w+)/;
  8.     push @X, $1;
  9.     push @Y, $2;
  10.     push @Z, $3;
  11. }

  12. %edge = (
  13.     'x' => { 'min' => min( @X ), 'max' => max( @X ) },
  14.     'y' => { 'min' => min( @Y ), 'max' => max( @Y ) },
  15. );

  16. our @buffer;
  17. create_buffer();
  18. draw_buffer();
  19. <STDIN>;

  20. sub draw_buffer
  21. {
  22.     our ( @X, @Y, @Z, %edge );
  23.     my ($x, $y, $str);
  24.     for my $id ( 0 .. $#X )
  25.     {
  26.         $x = $X[$id] - $edge{x}{min};
  27.         $y = $Y[$id] - $edge{y}{min};
  28.         $buffer[ $y ][ $x ] = $Z[$id];
  29.     }

  30.     $str = join "\n", map { join("", @$_ ) } ( @buffer );
  31.     print $str;
  32.     write_file("graph.txt", $str );
  33. }

  34. sub create_buffer
  35. {
  36.     my $dtx = $edge{x}{max} - $edge{x}{min} + 1;
  37.     my $dty = $edge{y}{max} - $edge{y}{min} + 1;
  38.     grep { push @buffer, [(".")x$dtx]; } ( 1 .. $dty );
  39. }

  40. sub read_file
  41. {
  42.     open my $fh, "<", $_[0];
  43.     return (<$fh>);
  44. }

  45. sub write_file
  46. {
  47.     open my $fh, ">", $_[0];
  48.     print $fh $_[1];
  49.     close $fh;
  50. }
復制代碼

網上游戲徽章:
130
技術圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
3 [報告]
發表于 2018-02-01 16:15 |只看該作者
本帖最后由 jason680 于 2018-02-01 16:21 編輯

回復 1# 情節可以很簡單

1. input data
2. procedure
3. output data


1.4501咋辦?

我的需求是:
1.電壓值按50mV等級替換:
               J:<1.4000;
               A:1.4000~1.4500;
       1.4501咋辦?
               B:1.4600~1.5000;
               C:1.5100~1.5500;

網上游戲徽章:
0
4 [報告]
發表于 2018-02-01 16:37 |只看該作者
本帖最后由 情節可以很簡單 于 2018-02-01 16:49 編輯

回復 2# jason680

誒呀!腦子只轉了半圈!
        0< A <=1.4000;
1.4000< B <=1.4500;
1.4500< C <=1.5000;
1.5000< D <=1.5500;
1.5500< E <=1.6000;
1.6000< F <=1.6500;
1.6500< G <=1.7000;
1.7000< H <=1.7500;
1.7500< I <=1.8000;
1.8000< J ;

#------------------------
我單純試了一下替換:
  if( ( 1.5000 < ((split)[2]) ) && ( ((split)[2]) <= 1.5500) )
  {
    s/$1/D/g;   #"$1" 這里該寫啥啊,我試了幾種就這個 結果可以有改變。
  }

結果長這樣:

(0,1)        1.6055
(1,1)        1.6841
D(D2D,D1D)D        D    #只替換了這一等級,但是坐標咋被穿插了這么多“D”
(3,1)        1.6637
(4,1)        1.6190
(5,1)        1.6247
(6,1)        1.6122


網上游戲徽章:
130
技術圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
5 [報告]
發表于 2018-02-01 17:22 |只看該作者
回復 3# 情節可以很簡單

$ perl get_50mv.pl file
(7,1)            bgr_trim8        1.4796        V    C
(8,1)            bgr_trim8        1.6455        V    F
(9,1)            bgr_trim8        1.5645        V    E
(10,1)            bgr_trim8        1.5863        V    E
(7,1)            bgr_trim8        1.4803        V    C
(-1,1)            bgr_trim8        1.6614        V    G
(0,1)            bgr_trim8        1.6055        V    F
(1,1)            bgr_trim8        1.6841        V    G
(2,1)            bgr_trim8        1.5392        V    D
(3,1)            bgr_trim8        1.6637        V    G
(4,1)            bgr_trim8        1.6190        V    F
(5,1)            bgr_trim8        1.6247        V    F
(6,1)            bgr_trim8        1.6122        V    F
(1,1)            bgr_trim8        1.6867        V    G
(-5,1)            bgr_trim8        -124.1541        mV    A
(-9,2)            bgr_trim8        1.5492        V    D
(-8,2)            bgr_trim8        1.6070        V    F
(-7,2)            bgr_trim8        1.5932        V    E
(-6,2)            bgr_trim8        1.4986        V    C
(-5,2)            bgr_trim8        1.5313        V    D
(-4,2)            bgr_trim8        1.6900        V    G
(-3,2)            bgr_trim8        1.6924        V    G
(-2,2)            bgr_trim8        1.5223        V    D
(-1,2)            bgr_trim8        1.6690        V    G
(0,2)            bgr_trim8        1.7155        V    H
(1,2)            bgr_trim8        1.6334        V    F
(-6,2)            bgr_trim8        1.4990        V    C

$ cat get_50mv.pl

use strict;
use warnings;

my $sVolt_lo = 1.4;
my $sVolt_hi = 1.8;
my $sVolt_st = 0.05;

my %hVolt_step;

my $sVolt = $sVolt_lo;
my $sVolt_step = "A";

sub next_step{
  my ($sStep) = @_;
  return(chr(ord($sStep)+1));
}
while($sVolt <= $sVolt_hi){
  $sVolt_step = next_step($sVolt_step);
  $hVolt_step{$sVolt} = $sVolt_step;  
  $sVolt += $sVolt_st;
}

my %hVolt_unit = (
  'mV' => 10**-3,
  'V'  => 1,
  'kV' => 10**3,
);


while(<>){
  chomp;
  my @aData = split;
  if(! exists $hVolt_unit{$aData[3]}){
    print STDERR "*** ERROR ****: unknow voltage unit\n$_\n";
    next;
  }
  my $sVolt = $aData[2] * $hVolt_unit{$aData[3]};
  if($sVolt <= $sVolt_lo){
    print "$_\tA\n";
    next;
  }
  if($sVolt > $sVolt_hi){
    print "$_\t$hVolt_step{$sVolt_hi}\n";
    next;
  }
  my $sStep = int((($sVolt-$sVolt_lo)*1000-1)/($sVolt_st*1000))*$sVolt_st+$sVolt_lo;
  print "$_\t$hVolt_step{$sStep}\n";

}

網上游戲徽章:
0
6 [報告]
發表于 2018-02-01 18:02 |只看該作者
回復 4# jason680

謝謝大神!看到您這樣按步自動分級令我茅塞頓開!運行了,結果也是正確的!
與此同時,我按照我那本方法也實現了全部替換。
結果如下:

#---------------------
(7,1)            C               
(8,1)            F               
(9,1)            E               
(10,1)            E               
(7,1)            C               
(-1,1)            G               
(0,1)            F               
(1,1)            G               
(2,1)            D               
(3,1)            G               
(4,1)            F               
(5,1)            F               
(6,1)            F               
(1,1)            G               
(-5,1)            A               
(-9,2)            D               
(-8,2)            F               
(-7,2)            E               
(-6,2)            C               
(-5,2)            D               
(-4,2)            G               
(-3,2)            G               
(-2,2)            D               
(-1,2)            G               
(0,2)            H               
(1,2)            F               
(-6,2)            C               
(-4,2)            G               
(-3,2)            G

.......         ..

#--------------------------------
現在還差按坐標生成圖了。。。
重復的坐標按其中一個就行。空白坐標用任意符號代替。
這個我連笨思路都想不通

網上游戲徽章:
11
子鼠
日期:2014-10-11 16:46:4815-16賽季CBA聯賽之山東
日期:2017-11-10 14:32:142016科比退役紀念章
日期:2017-09-02 15:42:4715-16賽季CBA聯賽之佛山
日期:2017-08-28 17:11:5515-16賽季CBA聯賽之浙江
日期:2017-08-24 16:55:1715-16賽季CBA聯賽之青島
日期:2017-08-17 19:55:2415-16賽季CBA聯賽之天津
日期:2017-06-29 10:34:4315-16賽季CBA聯賽之四川
日期:2017-05-16 16:38:55黑曼巴
日期:2016-07-19 15:03:112015亞冠之薩濟拖拉機
日期:2015-05-22 11:38:532016科比退役紀念章
日期:2018-03-16 10:24:05
7 [報告]
發表于 2018-02-01 21:15 |只看該作者
本帖最后由 523066680 于 2018-02-01 22:51 編輯



看到數據中有個負數,也歸為A是嗎

  1. use File::Slurp;
  2. STDOUT->autoflush(1);

  3. our %ranks = (
  4.     A => [-10000, 1.4000],
  5.     B => [1.4000, 1.4500],
  6.     C => [1.4500, 1.5000],
  7.     D => [1.5000, 1.5500],
  8.     E => [1.5500, 1.6000],
  9.     F => [1.6000, 1.6500],
  10.     G => [1.6500, 1.7000],
  11.     H => [1.7000, 1.7500],
  12.     I => [1.7500, 1.8000],
  13.     J => [1.8000, 100000],
  14. );

  15. my @data = read_file("data.txt");
  16. my (@col, $rank);

  17. for my $row ( @data )
  18. {
  19.     $row=~s/\r?\n//;
  20.     @col = split( /\s+/, $row );
  21.     $rank = get_rank( $col[2] );
  22.     printf "%s    %s\n", $row, $rank;
  23. }

  24. sub get_rank
  25. {
  26.     our (%ranks);
  27.     my $val = shift;
  28.     my ($rank) = grep { inrange( $val, $ranks{$_} ) && $_ } keys %ranks;
  29.     return $rank;
  30. }

  31. sub inrange
  32. {
  33.     my ($v, $ref) = @_;
  34.     return ($v > $ref->[0] and $v <= $ref->[1]) ? 1 : 0;
  35. }
復制代碼

你的數據能不能壓縮發個完整的到網盤?不然真是到時候做出來又有其他狀況。
數據作圖是3D點云圖吧?X,Y + 電壓值,三個向量。

網上游戲徽章:
0
8 [報告]
發表于 2018-02-02 10:15 |只看該作者
本帖最后由 情節可以很簡單 于 2018-02-02 10:24 編輯

回復 6# 523066680

讓您費心了,
我把原文件壓縮了,在添加附件時:上傳完畢后,提示附件無法保存!
另外我怎么通過百度網盤傳給你呀..需要賬號嗎
總之目前的結果能達到下面這樣:能確定的是Y從1~73,但是X看不出來。
#--------------------------------
(7,1)            C               
(8,1)            F               
(9,1)            E               
(10,1)            E               
(7,1)            C               
(-1,1)            G               
(0,1)            F               
(1,1)            G               
(2,1)            D               
(3,1)            G               
(4,1)            F               
(5,1)            F               
(6,1)            F               
(1,1)            G               
(-5,1)            A               
(-9,2)            D               
(-8,2)            F               
(-7,2)            E               
(-6,2)            C               
(-5,2)            D               
(-4,2)            G               
(-3,2)            G               
(-2,2)            D               
(-1,2)            G               
(0,2)            H               
(1,2)            F               
(-6,2)            C               
(-4,2)            G               
(-3,2)            G               
(-1,2)            G               
(0,2)            H               
(2,2)            F               
(3,2)            E               
(4,2)            D               
(5,2)            E               
(6,2)            H               
(7,2)            G               
(8,2)            F               
(9,2)            E               
(6,2)            H
.......         ..
#----------------------
字母按照對應坐標生成坐標圖。
難點:
1.有重復坐標 取其中任一個;
2.坐標夠不成整齊的矩形或圓形,需用“0”或空格補滿。

大致思路:是否可以把坐標X排序(Y順序不變),并按最長X補齊坐標。。但是我覺得無法實現吧。。。也許我想的太復雜了!


網上游戲徽章:
11
子鼠
日期:2014-10-11 16:46:4815-16賽季CBA聯賽之山東
日期:2017-11-10 14:32:142016科比退役紀念章
日期:2017-09-02 15:42:4715-16賽季CBA聯賽之佛山
日期:2017-08-28 17:11:5515-16賽季CBA聯賽之浙江
日期:2017-08-24 16:55:1715-16賽季CBA聯賽之青島
日期:2017-08-17 19:55:2415-16賽季CBA聯賽之天津
日期:2017-06-29 10:34:4315-16賽季CBA聯賽之四川
日期:2017-05-16 16:38:55黑曼巴
日期:2016-07-19 15:03:112015亞冠之薩濟拖拉機
日期:2015-05-22 11:38:532016科比退役紀念章
日期:2018-03-16 10:24:05
9 [報告]
發表于 2018-02-02 10:23 |只看該作者
本帖最后由 523066680 于 2018-02-02 12:37 編輯

回復 7# 情節可以很簡單

先不說這個,你有百度網盤嗎,或者 www.ys168.com 也不錯。
注冊頁面 http://www.hznkw.tw/hrzkh/register.aspx

——
問題補充:
你說的作圖是字符圖而不是渲染圖?

把電壓作為高度渲染出來了,(圖中y軸數據是錯的,請無視)


修正一下:

網上游戲徽章:
0
10 [報告]
發表于 2018-02-02 12:38 |只看該作者
本帖最后由 情節可以很簡單 于 2018-02-02 12:41 編輯

回復 8# 523066680

我有百度網盤,賬號17778056201 我的百度云鏈接:http://www.hznkw.tw/msdfylc/mbox/homepage?userShort=qZNe8XI 有效期:3天。點擊就可以和我發文件和消息了。
另外我有個疑問:
1.渲染圖的表現形式是帶顏色的字母嗎?隨電壓升高顏色變化。
2.目前只需要字符分布
3.如果1成立,那結果就更直觀了,如果麻煩,就不要了。

萬分感激!來自一個搞電路硬件的軟妹子。。

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則 發表回復

獲勝
基于案例的 SQL 優化實戰訓練營

講師:中電福富特級專家梁敬彬,參與本次課程培訓,你將收獲:
1. 能編寫出較為高效的 SQL;
2. 能解決70%以上的數據庫常見優化問題;
3. 能得到老師提供的高效的相關工具和解決方案;
4. 能舉一反三,收獲不僅僅是 SQL 優化。
現在購票享受8.8折優惠!
----------------------------------------
優惠時間:2019年3月20日前

大會官網>>
<鏈輪> 安卓版四人麻将 在哪能下琼崖海南麻将 今天内蒙古时时彩开奖结果 今天天津11选五开奖结果 十一选五天津走势图 江苏时时11选5 新疆时时走势直播 三肖中特免费资料大全 360时时彩 老快3走势 快乐赛纪录
  

北京盛拓優訊信息技術有限公司. 版權所有 16024965號-6 北京市公安局海淀分局網監中心備案編號:11010802020122
中國互聯網協會會員  聯系我們[email protected]
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP
   <鏈輪>在哪能下琼崖海南麻将 今天内蒙古时时彩开奖结果 今天天津11选五开奖结果 十一选五天津走势图 江苏时时11选5 新疆时时走势直播 三肖中特免费资料大全 360时时彩 老快3走势 快乐赛纪录