经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » Echarts » 查看文章
Python+Pyecharts实现散点图的绘制
来源:jb51  时间:2022/6/20 16:23:05  对本文有异议

第1关:Scatter:散点图(一)

编程要求

根据以上介绍,在右侧编辑器补充代码,绘制给定数据的散点图,要求:

  • 画布大小初始化为宽 1600 像素,高 1000 像素
  • X 轴数据设置为 x_data
  • 添加 Y 轴数据。系列名称设置为空,数据使用 y_data,标记的大小设置为20,不显示标签
  • X 轴类型设置为数值轴,并显示分割线
  • Y 轴类型设置为数值轴,并显示分割线以及坐标轴刻度
  • 不显示提示框

代码

  1. from PreTest import *
  2. from pyecharts import options as opts
  3. from pyecharts.render import make_snapshot
  4. from snapshot_phantomjs import snapshot
  5. from pyecharts.charts import Scatter
  6. data = [
  7. [10.0, 8.04],
  8. [8.0, 6.95],
  9. [13.0, 7.58],
  10. [9.0, 8.81],
  11. [11.0, 8.33],
  12. [14.0, 9.96],
  13. [6.0, 7.24],
  14. [4.0, 4.26],
  15. [12.0, 10.84],
  16. [7.0, 4.82],
  17. [5.0, 5.68],
  18. ]
  19. data.sort(key=lambda x: x[0])
  20. x_data = [d[0] for d in data]
  21. y_data = [d[1] for d in data]
  22. def scatter_chart() -> Scatter:
  23. # ********* Begin *********#
  24. scatter = (
  25. Scatter(init_opts=opts.InitOpts(width="1600px", height="1000px"))
  26. .add_xaxis(x_data)
  27. .add_yaxis("",
  28. y_data,
  29. symbol_size=20
  30. )
  31. .set_series_opts(
  32. label_opts=opts.LabelOpts(is_show=False)
  33. )
  34. .set_global_opts(
  35. tooltip_opts=opts.TooltipOpts(is_show=False),
  36. xaxis_opts=opts.AxisOpts(
  37. type_="value",
  38. splitline_opts=opts.SplitLineOpts(is_show=True)
  39. ),
  40. yaxis_opts=opts.AxisOpts(
  41. type_="value",
  42. splitline_opts=opts.SplitLineOpts(is_show=True),
  43. axistick_opts=opts.AxisTickOpts(is_show=True)
  44. )
  45. )
  46. )
  47. # ********** End **********#
  48. return scatter
  49. make_snapshot(snapshot, scatter_chart().render("Result/render.html"), 'StudentAnswer/student_answer.png') # 输出图片
  50. make_snapshot(snapshot, scatter_base(x_data, y_data).render(), "StandardAnswer/task1/standard_answer_1.png")

测试说明

平台会运行你编写的代码进行绘图,并与预期图片进行比对。预期效果如下:

第2关:Scatter:散点图(二)

编程要求

根据以上介绍,在右侧编辑器补充代码,利用给定数据绘制相应的散点图,要求:

  • X 轴数据项使用data_x
  • 添加两组 Y 轴数据。
  • 第一组系列名称设置为“商家A”,数据使用data_y_1
  • 第二组系列名称设置为“商家B”,数据使用data_y_2
  • 将标题设置为“Scatter-VisualMap(Size)”
  • 视觉映射过渡类型选择“size”,最大值设为 150,最小值设置为 20

代码

  1. from PreTest import *
  2. from pyecharts import options as opts
  3. from pyecharts.render import make_snapshot
  4. from snapshot_phantomjs import snapshot
  5. from pyecharts.charts import Scatter
  6. from pyecharts.faker import Faker
  7. data_x = Faker.choose()
  8. data_y_1 = Faker.values()
  9. data_y_2 = Faker.values()
  10. def scatter_chart() -> Scatter:
  11. # ********* Begin *********#
  12. scatter = (
  13. Scatter()
  14. .add_xaxis(data_x)
  15. .add_yaxis("商家A",data_y_1)
  16. .add_yaxis("商家B",data_y_2)
  17. .set_global_opts(
  18. title_opts=opts.TitleOpts(title="Scatter-VisualMap(Size)"),
  19. visualmap_opts=opts.VisualMapOpts(is_show=True,type_='size',min_=20,max_=150)
  20. )
  21. )
  22. # ********** End **********#
  23. return scatter
  24. make_snapshot(snapshot, scatter_chart().render("Result/render.html"), "StudentAnswer/student_answer.png") # 输出图片
  25. make_snapshot(snapshot, scatter_visual(data_x, data_y_1, data_y_2).render(), "StandardAnswer/task2/standard_answer_2.png")

测试说明

平台会运行你编写的代码进行绘图,并与预期图片进行比对。预期效果如下:

第3关:Scatter:散点图(三)

编程要求

根据以上介绍,在右侧编辑器补充代码,利用给定数据绘制相应的散点图,要求:

  • X 轴数据项使用data_x
  • Y 轴数据项使用data_y,系列名称设置为“商家A”,并用 JsCode 格式化标签(具体格式见文末)
  • 标题设置为“Scatter-多维度数据”
  • 用 JsCode 格式化提示框文本(详见文末)
  • 视觉映射类型设置为颜色,最大值设置为 150,最小值设置为 20,组件映射维度为 1

代码

  1. from PreTest import *
  2. from pyecharts import options as opts
  3. from pyecharts.render import make_snapshot
  4. from snapshot_phantomjs import snapshot
  5. from pyecharts.charts import Scatter
  6. from pyecharts.faker import Faker
  7. from pyecharts.commons.utils import JsCode
  8. data_x = Faker.choose()
  9. data_y = [list(z) for z in zip(Faker.values(), Faker.choose())]
  10. def scatter_chart() -> Scatter:
  11. # ********* Begin *********#
  12. scatter = (
  13. Scatter()
  14. .add_xaxis(data_x)
  15. .add_yaxis(
  16. "商家A",
  17. data_y,
  18. label_opts=opts.LabelOpts(
  19. formatter=JsCode("""function(params){return params.value[1] +' : '+ params.value[2];}""")
  20. )
  21. )
  22. .set_global_opts(
  23. title_opts=opts.TitleOpts(title="Scatter-多维度数据"),
  24. visualmap_opts=opts.VisualMapOpts(is_show=True,type_='color',min_=20,max_=150,dimension=1),
  25. tooltip_opts=opts.TooltipOpts(
  26. formatter=JsCode("""function (params) {return params.name + ' : ' + params.value[2];}""")
  27. )
  28. )
  29. )
  30. # ********** End **********#
  31. return scatter
  32. make_snapshot(snapshot, scatter_chart().render("Result/render.html"), 'StudentAnswer/student_answer.png') # 输出图片
  33. make_snapshot(snapshot, scatter_multi(data_x, data_y).render(), "StandardAnswer/task3/standard_answer_3.png")

测试说明

平台会运行你编写的代码进行绘图,并与预期图片进行比对。预期效果如下:

以上就是Python+Pyecharts实现散点图的绘制的详细内容,更多关于Python Pyecharts散点图的资料请关注w3xue其它相关文章!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号