找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 16831|回复: 2

【己解决】50元求代码生成折线图

  [复制链接]
发表于 2021-4-19 16:38:26 | 显示全部楼层 |阅读模式
本帖最后由 keshun 于 2021-4-20 00:48 编辑

具体报酬:50元人民币
支付方式:支付宝
联系方式:QQ:1397538658
有效期限:2021年4月25日之前。
需求描述:
(1)系统环境(Win10,中文版)
(2)python读取1.txt生成折线图保存到1.jpg


     J5M    J15M    J1H    J4H    J1D    J3D     J7D
0   24.71   73.85  60.22  60.27  19.79  52.50   93.95
0   73.92   94.59  72.92  62.82  24.46  55.33   83.02
0   85.34   96.25  75.79  63.50  27.09  56.93   78.46
0   83.51   92.19  75.21  63.43  34.20  61.18   90.96
0   91.05   95.25  76.94  63.71  35.08  61.74   97.95
0   97.14   98.17  76.90  63.91  35.72  62.16  101.31
0  106.46  103.54  82.95  64.83  37.45  63.17  102.64
0   95.57   96.23  80.72  64.48  40.21  64.82   95.59
0   49.05   75.22  70.83  63.01  40.41  64.95   88.90
0    2.92   58.13  65.88  62.23  43.40  66.70   83.79
0   -6.74   55.22  65.59  62.12  46.17  68.34   84.50
0   -3.46   57.07  66.66  62.24  46.32  68.41   53.25
0   20.22   67.22  70.77  62.78  51.42  71.42   47.67
0   -2.27   56.32  66.22  62.10  52.18  71.90   45.67
0  -12.00   29.86  55.33  60.52  54.51  73.26   46.09
0  -14.98    0.51  43.26  58.76  52.88  72.31   54.07
0  -14.66  -16.50  26.57  56.33  49.94  70.58   61.20
0  -12.90  -22.21  13.27  54.41  49.29  70.20   67.67
0  -10.67  -22.28  -0.92  52.35  50.91  71.14   72.66
0    2.33  -10.39   0.90  52.64  46.49  68.55   73.93

1.txt有200行(上面是其中20行),有7组数据生成7条线(数值-50--150之间)
发表于 2021-4-19 19:31:14 | 显示全部楼层
本帖最后由 a20150604 于 2021-4-19 19:53 编辑
  1. # encoding: utf-8

  2. import matplotlib.pyplot as plt
  3. # import matplotlib.pylab as plt
  4. from matplotlib.pyplot import figure
  5. import re

  6. o_img = '1.jpg'
  7. file = open('1.txt')    #打开文档
  8. data = file.readlines() #读取文档数据

  9. cnt_data_lines = len(data)-1
  10. print(cnt_data_lines)

  11. num_of_lines = 7

  12. arr_data = [[0 for i in range(cnt_data_lines)] for i in range(num_of_lines + 1)]
  13. arr_tit = [0 for j in range(num_of_lines)]

  14. strinfo = re.compile(r'\s+')    #
  15. i=1
  16. for num in data:
  17.     if i>1 :            # 数据区
  18.         arr_data[num_of_lines][i-2]=i-1
  19.         for j in range(num_of_lines):
  20.             arr_data[j][i-2]=float(strinfo.sub(',', num).split(',')[j+1])

  21.     else :
  22.         for j in range(num_of_lines):
  23.             arr_tit[j] = strinfo.sub(',', num).split(',')[j+1]

  24.     i+=1

  25. # plt.figure()
  26. plt.figure(figsize=(8, 6), dpi=80)
  27. plt.title('map')
  28. plt.xlabel('x label')
  29. plt.ylabel('y label')
  30. plt.xticks(arr_data[num_of_lines], arr_data[num_of_lines])  #, rotation='vertical'
  31. arr_p = [0 for j in range(num_of_lines)]
  32. for k in range(num_of_lines):
  33.     arr_p[k] , =  plt.plot(arr_data[num_of_lines], arr_data[k],label=arr_tit[k])
  34.     # plt.legend()
  35.     plt.legend(loc='best')
  36. plt.savefig(o_img)
  37. plt.show()

复制代码
 楼主| 发表于 2021-4-20 00:48:35 | 显示全部楼层
本帖最后由 keshun 于 2021-4-20 03:39 编辑

回复 2# a20150604


    十分感谢!!
         20元追加个问题,通过上面代码生成的6个图,求合并成大图的代码
    图形排列:1.jpg,2.jpg,3.jpg
                  4.jpg,5.jpg,6.jpg
    合并成A.jpg

   麻烦你把支付宝帐号发消息我,70元转给你。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 04:11 , Processed in 0.017256 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表