draw_curve.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # @FileName :plt.py
  4. # @Time :2025/5/12 13:46
  5. # @Author :David
  6. # @Company: shenyang JY
  7. import matplotlib.pyplot as plt
  8. def paint_map(self):
  9. """
  10. 根据风机经纬度,绘制经纬度地图
  11. :return:
  12. """
  13. lats = self.info['纬度'].values
  14. lons = self.info['经度'].values
  15. map = Basemap()
  16. # 绘制海岸线和国家边界
  17. map.drawcoastlines()
  18. map.drawcountries()
  19. # 绘制经纬度坐标
  20. map.drawmeridians(range(0, 360, 30))
  21. map.drawparallels(range(-90, 90, 30))
  22. # 绘制点
  23. x, y = map(lons, lats)
  24. map.plot(x, y, 'bo', markersize=10)
  25. # 显示图表
  26. plt.show()
  27. def paint_power15min(self):
  28. """
  29. 绘制15分钟功率曲线
  30. :return:
  31. """
  32. plt.plot(self.power_15min['C_REAL_VALUE'])
  33. # 设置图表标题和轴标签
  34. plt.title('Data Time Change Curve')
  35. plt.xlabel('Date')
  36. plt.ylabel('Value')
  37. # 显示图表
  38. plt.show()
  39. def paint_lats_lons(self):
  40. """
  41. 绘制经纬度图
  42. :return:
  43. """
  44. x = self.info['纬度'].values
  45. y = self.info['经度'].values
  46. # 绘制散点图
  47. fig, ax = plt.subplots()
  48. plt.scatter(x, y)
  49. for i, txt in enumerate(self.info['id'].values):
  50. ax.annotate(txt, (x[i], y[i]))
  51. # 设置图表标题和轴标签
  52. plt.xlabel('lats')
  53. plt.ylabel('lons')
  54. # 显示图表
  55. plt.show()
  56. if __name__ == "__main__":
  57. run_code = 0