testLegend.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import plotly.graph_objects as go
  2. import plotly.io as pio
  3. # 创建示例数据
  4. x = [1, 2, 3, 4, 5]
  5. y1 = [10, 15, 13, 17, 16]
  6. y2 = [16, 5, 11, 9, 10]
  7. y3 = [6, 8, 9, 5, 4]
  8. y4 = [10, 15, 13, 17, 16]
  9. y5 = [16, 5, 11, 9, 10]
  10. y6 = [6, 8, 9, 5, 4]
  11. y7 = [10, 15, 13, 17, 16]
  12. y8 = [16, 5, 11, 9, 10]
  13. y9 = [6, 8, 9, 5, 4]
  14. y10 = [10, 15, 13, 17, 16]
  15. y11 = [16, 5, 11, 9, 10]
  16. y12 = [6, 8, 9, 5, 4]
  17. y13 = [10, 15, 13, 17, 16]
  18. y14 = [16, 5, 11, 9, 10]
  19. y15 = [6, 8, 9, 5, 4]
  20. # 创建图表
  21. fig = go.Figure()
  22. # 添加多个系列
  23. fig.add_trace(go.Scatter(x=x, y=y1, mode='lines+markers', name='Series 1'))
  24. fig.add_trace(go.Scatter(x=x, y=y2, mode='lines+markers', name='Series 2'))
  25. fig.add_trace(go.Scatter(x=x, y=y3, mode='lines+markers', name='Series 3'))
  26. fig.add_trace(go.Scatter(x=x, y=y4, mode='lines+markers', name='Series 4'))
  27. fig.add_trace(go.Scatter(x=x, y=y5, mode='lines+markers', name='Series 5'))
  28. fig.add_trace(go.Scatter(x=x, y=y6, mode='lines+markers', name='Series 6'))
  29. fig.add_trace(go.Scatter(x=x, y=y7, mode='lines+markers', name='Series 7'))
  30. fig.add_trace(go.Scatter(x=x, y=y8, mode='lines+markers', name='Series 8'))
  31. fig.add_trace(go.Scatter(x=x, y=y9, mode='lines+markers', name='Series 9'))
  32. fig.add_trace(go.Scatter(x=x, y=y10, mode='lines+markers', name='Series 10'))
  33. fig.add_trace(go.Scatter(x=x, y=y11, mode='lines+markers', name='Series 11'))
  34. fig.add_trace(go.Scatter(x=x, y=y12, mode='lines+markers', name='Series 12'))
  35. fig.add_trace(go.Scatter(x=x, y=y13, mode='lines+markers', name='Series 13'))
  36. fig.add_trace(go.Scatter(x=x, y=y14, mode='lines+markers', name='Series 14'))
  37. fig.add_trace(go.Scatter(x=x, y=y15, mode='lines+markers', name='Series 15'))
  38. # 更新布局以解决图例展示不全问题
  39. fig.update_layout(
  40. legend=dict(
  41. orientation="h",
  42. yanchor="bottom",
  43. y=1.02,
  44. xanchor="right",
  45. x=1
  46. ),
  47. margin=dict(b=40, t=40)
  48. )
  49. # 使用 write_image 方法输出图形
  50. pio.write_image(fig, 'line_chart.png')
  51. fig.show()